docker library: build when all base packages are ready #656
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
debug info containers disabled for now. Scripts test locally ok when passed same BB arguments.
Rather than building parts of the manifest on the assumption that all architectures will catch up, wait for all of them.
When the are all there, build them all in one go, and clean them all up at the end.
The *-reference.txt file contains the name of the builders that are ready. Its used as a counter so the only thing that matters is the number of unique lines.
Removed use of podman. There where probably some incompatible things here.
If any part of the build fails, clean the images up. Any manual retrigger on the tarbuildnum for a ubi/non-ubi will retrigger the building of the manifest, and test. This saves us rebuilding the packages.
So this includes docker-library-build.sh. Failure of an architecture cleans them all.
The docker-library-test.sh is adjusted because of the manifest name.
The less obvious change is because the image is a manifest, running the test suite on this will only run on the native amd64 architecture.
There where timeouts on non-amd64 sometimes still which where pretty much always false positives.
With the manifest already done in the build step,
this is simply pushing that manifest and all the
tags around it.
A re-arrangements means we push the tags (latest/earliest...) first (with image). Then the image with its main tag (like :10.5).
Then we build the debug images. As there is now an easy implementation for this so its a one run process.
Cleanup is also part of this script. The reference.txt files are removed.
buildah rmi --prune --force will remove all untagged images, including any that had running containers on them during a build process.
The rest of the cleanup is the same (without an if condition around it). The is probably scope for cleaning this up some more.