I have two images in two different repositories that are built with Drone. One Docker image depends on the other, so once that parent image is fully built and sent to the Docker Hub, I have it use the downstream plugin to start the child build. This child image build would be the exact same Dockerfile, code, and .drone.yml as before, but with the now updated parent image.
This all works as I would expect, except that the downstream build chooses to start… not the most recent build. Sometimes it will choose the latest one, but most times it will choose one a couple of builds ago:
Notice how build #24 is magically chosen to be downstream built, 6 days later, even though #26 would be the latest successful. The relevant part of my .drone.yml looks like this:
kind: pipeline name: downstream-build trigger: branch: - master event: - push clone: disable: true steps: - name: trigger image: plugins/downstream settings: server: (my gitea URL) token: from_secret: drone_token fork: true last_successful: true repositories: - PhasecoreX/docker-red-discordbot
I figured when I looked in the downstream plugin code that
last_successful was going to help me, but it seems to still choose wrong sometimes.
Am I doing this wrong? Is there a better/correct way to build two docker images, where one depends on the other? Any help would be greatly appreciated.