-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Description
What feature do you want to see added?
The multiarch stage (a sanity check one) is the longest one (taking about 45 minutes) and currently builds images for every architectures, even if the current agent architecture images are already built in other stages.
Other stages building a list of targets are calling make build-<target> or make test-<target> which are using make list, returning only targets for the current agent architecture (amd64):
Lines 135 to 146 in 5a8f228
| stage("Build linux-${imageToBuild}") { | |
| infra.withDockerCredentials { | |
| sh "make build-${imageToBuild}" | |
| } | |
| } | |
| stage("Test linux-${imageToBuild}") { | |
| sh 'make prepare-test' | |
| try { | |
| infra.withDockerCredentials { | |
| sh "make test-${imageToBuild}" | |
| } |
Lines 78 to 79 in 5a8f228
| list: check-reqs | |
| @set -x; make --silent show | jq -r '.target | path(.. | select(.platforms[] | contains("linux/$(ARCH)"))?) | add' |
This stage should be optimised to build only build architectures not already built in those other stages so it takes less time, to reduce the overall build duration.
Current state
List of targets and architectures built in the multiarch stage:
alpine_jdk17 (amd64)
alpine_jdk21 (amd64, arm64)
debian-slim_jdk17 (amd64)
debian-slim_jdk21 (amd64, arm64)
debian_jdk17 (amd64, arm64, s390x, ppc64le)
debian_jdk21 (amd64, arm64, s390x, ppc64le)
rhel_ubi9_jdk17 (amd64, arm64, ppc64le)
rhel_ubi9_jdk21 (amd64, arm64, ppc64le)
Total: 20 distinct images.
Overall build duration: 47 min
https://ci.jenkins.io/job/Packaging/job/docker/job/master/13084:

Upstream changes
No response
Are you interested in contributing this feature?
Yes