Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docker library: build when all base packages are ready
1. Save space 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. 2. be retriggerable 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. 3. tests now x86_64 only 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. 4. simplified docker-library-manifest 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 aslo 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.
- Loading branch information