-
Notifications
You must be signed in to change notification settings - Fork 18.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhanced Dockerfile for cross compilation (test Jenkinsfile changes) #43613
Commits on Aug 20, 2022
-
Dockerfile: use TARGETPLATFORM with scopeo for frozen images stage
frozen-images stage doesn't use the download-frozen-image-v2.sh anymore so we can effectively use TARGETPLATFORM from global scope. The test util has been updated accordingly. In a follow-up we can remove download-frozen-image-v2.sh script but needs to look first at Dockerfile.e2e which seems not used anymore in our pipeline. Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 5bede30 - Browse repository at this point
Copy the full SHA 5bede30View commit details -
Dockerfile: handle multi base image for riscv64 and armel support
To add support for riscv64 builds we need crossbuild packages for riscv64 but current golang image with debian bullseye does not support it. Ubuntu 22.04 supports riscv64 but unfortunately drops support for armel arch. Therefore we need a multi base image that will be picked up based on the target platform we want to build. Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 3d58373 - Browse repository at this point
Copy the full SHA 3d58373View commit details -
Dockerfile: remove hardcoded platform for vpnkit stage
vpnkit stage only supports linux/amd64 and linux/arm64 platforms when building dev image and will crash if we try building against another platform. with this change we can still build the dev image against any platform using dummy scratch base. Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for f6cccc7 - Browse repository at this point
Copy the full SHA f6cccc7View commit details -
Dockerfile: add cross compilation helper
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for cbe9d62 - Browse repository at this point
Copy the full SHA cbe9d62View commit details -
Dockerfile: pin criu version and build from source
pin criu for better reproducibility and build from source so we can use it across any platform. Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 27831cd - Browse repository at this point
Copy the full SHA 27831cdView commit details -
dummy stage allows to bypass build for deps that don't support some platforms Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 94a1e3e - Browse repository at this point
Copy the full SHA 94a1e3eView commit details -
containerd build in Dockerfile is limited to host platform and could not be cross-built for other platforms. this change allows to build against any platforms if we want to smoke test in a follow-up but also enhance e2e tests for linux and windows in our pipeline. also introduced DOCKER_LINKMODE to be able to build dynamic or static binaries. Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for e14fc4f - Browse repository at this point
Copy the full SHA e14fc4fView commit details -
runc build in Dockerfile is limited to host platform and could not be cross-built for other platforms. this change allows to build against any platforms if we want to smoke test in a follow-up but also enhance e2e tests for linux and windows in our pipeline. Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 97b3b09 - Browse repository at this point
Copy the full SHA 97b3b09View commit details -
tini build in Dockerfile is limited to host platform and could not be cross-built for other platforms. this change allows to build against any platforms if we want to smoke test in a follow-up but also enhance e2e tests for linux and windows in our pipeline. Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 1e3d1eb - Browse repository at this point
Copy the full SHA 1e3d1ebView commit details -
rootlesskit build in Dockerfile is limited to host platform and could not be cross-built for other platforms. this change allows to build against any platforms if we want to smoke test in a follow-up but also enhance e2e tests for linux and windows in our pipeline. Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 28ea210 - Browse repository at this point
Copy the full SHA 28ea210View commit details -
Dockerfile: containerutility cross
containerutility build in Dockerfile is limited to windows platform atm but enabling cross build for it enhance and reduce footprint in our piepline for linux and windows e2e tests. Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 39e131d - Browse repository at this point
Copy the full SHA 39e131dView commit details -
Dockerfile: verify and better cache for go-swagger stage
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 3fbcb7e - Browse repository at this point
Copy the full SHA 3fbcb7eView commit details -
Dockerfile: align deps format and output
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 32b446b - Browse repository at this point
Copy the full SHA 32b446bView commit details -
Dockerfile: use TARGETPLATFORM for delve stage and verify
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 1e13269 - Browse repository at this point
Copy the full SHA 1e13269View commit details -
Dockerfile: verify and better cache for dockercli stage
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 03cb6ce - Browse repository at this point
Copy the full SHA 03cb6ceView commit details -
Dockerfile: use global scope platform args for registry stage and verify
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 0924ec1 - Browse repository at this point
Copy the full SHA 0924ec1View commit details -
Dockerfile: better cache for crun stage
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 385502e - Browse repository at this point
Copy the full SHA 385502eView commit details -
Dockerfile: GO111MODULE=on by default
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for f045cf8 - Browse repository at this point
Copy the full SHA f045cf8View commit details -
Dockerfile: enhanced for cross compilation
Better support for cross compilation so we can rely on --platform flag of buildx for a seamless integration. This removes not necessary extra cross logic in the Dockerfile as well as hack scripts. Tried my best to reduce the footprint of changes but modifying one bit in the Dockerfile involves other changes in ./hack scripts. Non-sandboxed build invocation is still supported. It also handles cross compilation for external tools dynamically based on platform arg available in global scope (containerd, runc, tini, ...). Dev stages have been updated accordingly to changes for cross comp as well as linked tools (swagger, tomll, gotestsum, ...) The current bake definition has been updated to take the changes into account as well as the ci gha workflow. Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 0c99378 - Browse repository at this point
Copy the full SHA 0c99378View commit details -
Dockerfile: add "all" stage to build binaries and extra tools
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 0bf53ff - Browse repository at this point
Copy the full SHA 0bf53ffView commit details -
ci: add job to test building dev image
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 454233a - Browse repository at this point
Copy the full SHA 454233aView commit details -
Jenkinsfile: remove cross stage (moved to gha)
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 7517f97 - Browse repository at this point
Copy the full SHA 7517f97View commit details -
Dockerfile: smoke test stage and gha workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 55ef5ec - Browse repository at this point
Copy the full SHA 55ef5ecView commit details -
Dockerfile: refactor Dockerfile.simple and create gha workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for f87e91b - Browse repository at this point
Copy the full SHA f87e91bView commit details -
needs to update supported platforms for pie buildmode and adds smoke test Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for c9c4bf7 - Browse repository at this point
Copy the full SHA c9c4bf7View commit details -
docs: contributing docs update for cross comp
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 01ca536 - Browse repository at this point
Copy the full SHA 01ca536View commit details