Closed YOU54F closed 7 months ago
So,
first off, I am a numpty. I did a minor release, rather than a major!
For reasons I cannot fathom at the moment, the only one now with a multi arches, is the major tag 0
It doesn't make sense as the script is running the same command , albeit with a different tag, each time
https://github.com/pact-foundation/pact-ruby-cli/blob/master/script/release-workflow/docker-push.sh
Pulled the changes into my fork, released, and the manifests are correct 🤔
Right, so it doesn't look like the version increment is considered in this release workflow, so regardless of the user input, its defaulting to minor
script/release-workflow/run.sh
. ${script_dir}/set-env-vars.sh
set-env-vars.sh
calls out to script/release-workflow/next-docker-tag.sh
to get the docker tag name
the docker tag is computed and constructed using the version from lib/pact/cli/version.rb
${gem_version}-<dupe_identifier>
How should we compute the Docker tag version?
Should we record all the changes, simply, in the pact cli gem version?
hmm
snags.
do we want something like
if [ -n "$INCREMENT" ]; then
bundle exec bump $INCREMENT --no-commit --replace-in $PWD/lib/pact/cli/version.rb > /dev/null
fi
in
and commit back the updated versions, as part of the docker release, which will catch docker release changes, and also releases triggered by gem updates
also wat?! These were the same codebases albeit in different forks. - still not publishing multi manifests correctly
but did on the fork see https://github.com/pact-foundation/pact-ruby-cli/issues/117#issuecomment-1714206821
Published 0.56.0.5 and oddly, one of the pushes gets associated with @bethesque account, but the other two which are published linux/amd64 only are associated with the pactfoundation account.
This doesn't really make sense, as there is only one set of credentials (DOCKERHUB_USERNAME and DOCKERHUB_TOKEN which are set at the pactfoundation org level, so not sure why Beth's account is being picked up here)
I tested out again on my fork, but forget there was a hard-coded org name, so I published to the pact-foundation account.
This has published the multi-manifests across all builds, with no other code changes. Could it be that we just need to update the org wide docker account and token in gh actions. Such confuse 😬
I'm as confused as you are, if not more.
So I've worked it out now, there was an automated build trigger in docker, which was clobbering the multi-manifest builds, with an amd64 only. Disabled now in Dockerhub and pushed out a patch version to go out.
What a doozy! I thought I was literally going mad.
Hey all,
Just to let you know we will be promoting to a V1.x release very shortly,
It will do the following at the moment
-latest
suffix from images, and produce multi-arch images against thelatest
taglatest
flag without having to force alinux/amd64
platform. #116