-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CICD: add ARM builds, AMD64 with musl, and multi-platform dockerfile …
…testing (#507) * add aarch64-unknown-linux-musl target and update xtask config to support multi-platform Dockerfile * test multi-platform config for alpine linux * switch aarch64 gnu build to musl (testing) * install strip utilities for ARM64 musl * remove installation step for musl strip (perhaps pre-installed on GH runner?) * add arm 6 7 and 8 and use glibc on all targets * try to find arm7 ubuntu package * fix typo in strip.sh * add platform info to generated Dockerfile file names * switch back to musl for x86-64 builds * pass dockerfile path explicitly to job matrix; cowify all the things * pass dockerfile from job matrix to docker build command * sanitize dockerfile paths * update install.sh to detect ARM on linux * fix typo in platform string for arm v6 and v7 * make DOCKER_PLATFORM local to build/run script * add explicit --platform option to FROM in Dockerfile template * use buildx to build image * switch to musl for all linux builds (docker images use musl by default) * test using RUSTFLAGS to strip debug info * use RUSTFLAGS to strip debugging info when building release * remove --platform arg to docker build * try using base alpine image with platform option * generate display name for job matrix * install emulators for ARM if needed * fix typo * add amd64 gnu build (for installer backwards compatibility) * clean up comments; strip debug info from integration test bundle
- Loading branch information
1 parent
53d68e8
commit 4834175
Showing
35 changed files
with
255 additions
and
112 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
xtask/docker/Dockerfile.alpine-3.14 → ...docker/Dockerfile.alpine.3.16.linux-amd64
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
xtask/docker/Dockerfile.alpine-3.17 → ...ocker/Dockerfile.alpine.3.16.linux-arm-v6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
FROM --platform=linux/arm/v7 alpine:3.16 | ||
ARG DOWNLOAD_AUTH_TOKEN="" | ||
ARG DOWNLOAD_RELEASE_ID="" | ||
ARG DOWNLOAD_VERSION="" | ||
ENV CT_DOWNLOAD_AUTH_TOKEN=${DOWNLOAD_AUTH_TOKEN} | ||
ENV CT_DOWNLOAD_RELEASE_ID=${DOWNLOAD_RELEASE_ID} | ||
ENV CT_DOWNLOAD_VERSION=${DOWNLOAD_VERSION} | ||
COPY ./install.sh /tmp/ctinstall.sh | ||
RUN chmod 755 /tmp/ctinstall.sh && /tmp/ctinstall.sh \ | ||
--version "${CT_DOWNLOAD_VERSION}" \ | ||
${CT_DOWNLOAD_RELEASE_ID:+ --auth-token "${CT_DOWNLOAD_AUTH_TOKEN}" --release-id "${CT_DOWNLOAD_RELEASE_ID}"} | ||
CMD cloudtruth --version |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
FROM --platform=linux/arm64/v8 alpine:3.16 | ||
ARG DOWNLOAD_AUTH_TOKEN="" | ||
ARG DOWNLOAD_RELEASE_ID="" | ||
ARG DOWNLOAD_VERSION="" | ||
ENV CT_DOWNLOAD_AUTH_TOKEN=${DOWNLOAD_AUTH_TOKEN} | ||
ENV CT_DOWNLOAD_RELEASE_ID=${DOWNLOAD_RELEASE_ID} | ||
ENV CT_DOWNLOAD_VERSION=${DOWNLOAD_VERSION} | ||
COPY ./install.sh /tmp/ctinstall.sh | ||
RUN chmod 755 /tmp/ctinstall.sh && /tmp/ctinstall.sh \ | ||
--version "${CT_DOWNLOAD_VERSION}" \ | ||
${CT_DOWNLOAD_RELEASE_ID:+ --auth-token "${CT_DOWNLOAD_AUTH_TOKEN}" --release-id "${CT_DOWNLOAD_RELEASE_ID}"} | ||
CMD cloudtruth --version |
2 changes: 1 addition & 1 deletion
2
xtask/docker/Dockerfile.alpine-3.15 → ...docker/Dockerfile.alpine.3.17.linux-amd64
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
FROM --platform=linux/arm/v6 alpine:3.17 | ||
ARG DOWNLOAD_AUTH_TOKEN="" | ||
ARG DOWNLOAD_RELEASE_ID="" | ||
ARG DOWNLOAD_VERSION="" | ||
ENV CT_DOWNLOAD_AUTH_TOKEN=${DOWNLOAD_AUTH_TOKEN} | ||
ENV CT_DOWNLOAD_RELEASE_ID=${DOWNLOAD_RELEASE_ID} | ||
ENV CT_DOWNLOAD_VERSION=${DOWNLOAD_VERSION} | ||
COPY ./install.sh /tmp/ctinstall.sh | ||
RUN chmod 755 /tmp/ctinstall.sh && /tmp/ctinstall.sh \ | ||
--version "${CT_DOWNLOAD_VERSION}" \ | ||
${CT_DOWNLOAD_RELEASE_ID:+ --auth-token "${CT_DOWNLOAD_AUTH_TOKEN}" --release-id "${CT_DOWNLOAD_RELEASE_ID}"} | ||
CMD cloudtruth --version |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
FROM --platform=linux/arm/v7 alpine:3.17 | ||
ARG DOWNLOAD_AUTH_TOKEN="" | ||
ARG DOWNLOAD_RELEASE_ID="" | ||
ARG DOWNLOAD_VERSION="" | ||
ENV CT_DOWNLOAD_AUTH_TOKEN=${DOWNLOAD_AUTH_TOKEN} | ||
ENV CT_DOWNLOAD_RELEASE_ID=${DOWNLOAD_RELEASE_ID} | ||
ENV CT_DOWNLOAD_VERSION=${DOWNLOAD_VERSION} | ||
COPY ./install.sh /tmp/ctinstall.sh | ||
RUN chmod 755 /tmp/ctinstall.sh && /tmp/ctinstall.sh \ | ||
--version "${CT_DOWNLOAD_VERSION}" \ | ||
${CT_DOWNLOAD_RELEASE_ID:+ --auth-token "${CT_DOWNLOAD_AUTH_TOKEN}" --release-id "${CT_DOWNLOAD_RELEASE_ID}"} | ||
CMD cloudtruth --version |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
FROM --platform=linux/arm64/v8 alpine:3.17 | ||
ARG DOWNLOAD_AUTH_TOKEN="" | ||
ARG DOWNLOAD_RELEASE_ID="" | ||
ARG DOWNLOAD_VERSION="" | ||
ENV CT_DOWNLOAD_AUTH_TOKEN=${DOWNLOAD_AUTH_TOKEN} | ||
ENV CT_DOWNLOAD_RELEASE_ID=${DOWNLOAD_RELEASE_ID} | ||
ENV CT_DOWNLOAD_VERSION=${DOWNLOAD_VERSION} | ||
COPY ./install.sh /tmp/ctinstall.sh | ||
RUN chmod 755 /tmp/ctinstall.sh && /tmp/ctinstall.sh \ | ||
--version "${CT_DOWNLOAD_VERSION}" \ | ||
${CT_DOWNLOAD_RELEASE_ID:+ --auth-token "${CT_DOWNLOAD_AUTH_TOKEN}" --release-id "${CT_DOWNLOAD_RELEASE_ID}"} | ||
CMD cloudtruth --version |
2 changes: 1 addition & 1 deletion
2
xtask/docker/Dockerfile.alpine-3.16 → ...docker/Dockerfile.alpine.3.18.linux-amd64
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
FROM --platform=linux/arm/v6 alpine:3.18 | ||
ARG DOWNLOAD_AUTH_TOKEN="" | ||
ARG DOWNLOAD_RELEASE_ID="" | ||
ARG DOWNLOAD_VERSION="" | ||
ENV CT_DOWNLOAD_AUTH_TOKEN=${DOWNLOAD_AUTH_TOKEN} | ||
ENV CT_DOWNLOAD_RELEASE_ID=${DOWNLOAD_RELEASE_ID} | ||
ENV CT_DOWNLOAD_VERSION=${DOWNLOAD_VERSION} | ||
COPY ./install.sh /tmp/ctinstall.sh | ||
RUN chmod 755 /tmp/ctinstall.sh && /tmp/ctinstall.sh \ | ||
--version "${CT_DOWNLOAD_VERSION}" \ | ||
${CT_DOWNLOAD_RELEASE_ID:+ --auth-token "${CT_DOWNLOAD_AUTH_TOKEN}" --release-id "${CT_DOWNLOAD_RELEASE_ID}"} | ||
CMD cloudtruth --version |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
FROM --platform=linux/arm/v7 alpine:3.18 | ||
ARG DOWNLOAD_AUTH_TOKEN="" | ||
ARG DOWNLOAD_RELEASE_ID="" | ||
ARG DOWNLOAD_VERSION="" | ||
ENV CT_DOWNLOAD_AUTH_TOKEN=${DOWNLOAD_AUTH_TOKEN} | ||
ENV CT_DOWNLOAD_RELEASE_ID=${DOWNLOAD_RELEASE_ID} | ||
ENV CT_DOWNLOAD_VERSION=${DOWNLOAD_VERSION} | ||
COPY ./install.sh /tmp/ctinstall.sh | ||
RUN chmod 755 /tmp/ctinstall.sh && /tmp/ctinstall.sh \ | ||
--version "${CT_DOWNLOAD_VERSION}" \ | ||
${CT_DOWNLOAD_RELEASE_ID:+ --auth-token "${CT_DOWNLOAD_AUTH_TOKEN}" --release-id "${CT_DOWNLOAD_RELEASE_ID}"} | ||
CMD cloudtruth --version |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
FROM --platform=linux/arm64/v8 alpine:3.18 | ||
ARG DOWNLOAD_AUTH_TOKEN="" | ||
ARG DOWNLOAD_RELEASE_ID="" | ||
ARG DOWNLOAD_VERSION="" | ||
ENV CT_DOWNLOAD_AUTH_TOKEN=${DOWNLOAD_AUTH_TOKEN} | ||
ENV CT_DOWNLOAD_RELEASE_ID=${DOWNLOAD_RELEASE_ID} | ||
ENV CT_DOWNLOAD_VERSION=${DOWNLOAD_VERSION} | ||
COPY ./install.sh /tmp/ctinstall.sh | ||
RUN chmod 755 /tmp/ctinstall.sh && /tmp/ctinstall.sh \ | ||
--version "${CT_DOWNLOAD_VERSION}" \ | ||
${CT_DOWNLOAD_RELEASE_ID:+ --auth-token "${CT_DOWNLOAD_AUTH_TOKEN}" --release-id "${CT_DOWNLOAD_RELEASE_ID}"} | ||
CMD cloudtruth --version |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
{"include":[{"target":"x86_64-unknown-linux-musl","runner":"ubuntu-latest"},{"target":"arm-unknown-linux-gnueabihf","runner":"ubuntu-latest"},{"target":"aarch64-unknown-linux-gnu","runner":"ubuntu-latest"},{"target":"x86_64-apple-darwin","runner":"macos-latest"},{"target":"aarch64-apple-darwin","runner":"macos-latest"},{"target":"x86_64-pc-windows-msvc","runner":"windows-latest"}]} | ||
{"include":[{"target":"x86_64-unknown-linux-musl","runner":"ubuntu-latest"},{"target":"arm-unknown-linux-musleabihf","runner":"ubuntu-latest"},{"target":"armv7-unknown-linux-musleabihf","runner":"ubuntu-latest"},{"target":"aarch64-unknown-linux-musl","runner":"ubuntu-latest"},{"target":"x86_64-unknown-linux-gnu","runner":"ubuntu-latest"},{"target":"x86_64-apple-darwin","runner":"macos-latest"},{"target":"aarch64-apple-darwin","runner":"macos-latest"},{"target":"x86_64-pc-windows-msvc","runner":"windows-latest"}]} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
{"include":[{"os":"alpine","runner":"ubuntu-latest","version":"3.17","install_type":"docker"},{"os":"alpine","runner":"ubuntu-latest","version":"3.16","install_type":"docker"},{"os":"alpine","runner":"ubuntu-latest","version":"3.15","install_type":"docker"},{"os":"alpine","runner":"ubuntu-latest","version":"3.14","install_type":"docker"},{"os":"rockylinux","runner":"ubuntu-latest","version":"9","install_type":"docker"},{"os":"rockylinux","runner":"ubuntu-latest","version":"8","install_type":"docker"},{"os":"centos","runner":"ubuntu-latest","version":"7","install_type":"docker"},{"os":"debian","runner":"ubuntu-latest","version":"testing-slim","install_type":"docker"},{"os":"debian","runner":"ubuntu-latest","version":"stable-slim","install_type":"docker"},{"os":"debian","runner":"ubuntu-latest","version":"oldstable-slim","install_type":"docker"},{"os":"ubuntu","runner":"ubuntu-latest","version":"lunar","install_type":"docker"},{"os":"ubuntu","runner":"ubuntu-latest","version":"kinetic","install_type":"docker"},{"os":"ubuntu","runner":"ubuntu-latest","version":"jammy","install_type":"docker"},{"os":"ubuntu","runner":"ubuntu-latest","version":"focal","install_type":"docker"},{"os":"ubuntu","runner":"ubuntu-latest","version":"bionic","install_type":"docker"},{"os":"macos","runner":"macos-latest","version":"latest","install_type":"shell"},{"os":"windows","runner":"windows-latest","version":"latest","install_type":"powershell"}]} | ||
{"include":[{"display_name":"alpine-3.18 (linux/amd64)","os":"alpine","runner":"ubuntu-latest","version":"3.18","platform":"linux/amd64","install_type":"docker","dockerfile":"Dockerfile.alpine.3.18.linux-amd64"},{"display_name":"alpine-3.17 (linux/amd64)","os":"alpine","runner":"ubuntu-latest","version":"3.17","platform":"linux/amd64","install_type":"docker","dockerfile":"Dockerfile.alpine.3.17.linux-amd64"},{"display_name":"alpine-3.16 (linux/amd64)","os":"alpine","runner":"ubuntu-latest","version":"3.16","platform":"linux/amd64","install_type":"docker","dockerfile":"Dockerfile.alpine.3.16.linux-amd64"},{"display_name":"alpine-3.18 (linux/arm64/v8)","os":"alpine","runner":"ubuntu-latest","version":"3.18","platform":"linux/arm64/v8","install_type":"docker","dockerfile":"Dockerfile.alpine.3.18.linux-arm64-v8"},{"display_name":"alpine-3.17 (linux/arm64/v8)","os":"alpine","runner":"ubuntu-latest","version":"3.17","platform":"linux/arm64/v8","install_type":"docker","dockerfile":"Dockerfile.alpine.3.17.linux-arm64-v8"},{"display_name":"alpine-3.16 (linux/arm64/v8)","os":"alpine","runner":"ubuntu-latest","version":"3.16","platform":"linux/arm64/v8","install_type":"docker","dockerfile":"Dockerfile.alpine.3.16.linux-arm64-v8"},{"display_name":"alpine-3.18 (linux/arm/v7)","os":"alpine","runner":"ubuntu-latest","version":"3.18","platform":"linux/arm/v7","install_type":"docker","dockerfile":"Dockerfile.alpine.3.18.linux-arm-v7"},{"display_name":"alpine-3.17 (linux/arm/v7)","os":"alpine","runner":"ubuntu-latest","version":"3.17","platform":"linux/arm/v7","install_type":"docker","dockerfile":"Dockerfile.alpine.3.17.linux-arm-v7"},{"display_name":"alpine-3.16 (linux/arm/v7)","os":"alpine","runner":"ubuntu-latest","version":"3.16","platform":"linux/arm/v7","install_type":"docker","dockerfile":"Dockerfile.alpine.3.16.linux-arm-v7"},{"display_name":"alpine-3.18 (linux/arm/v6)","os":"alpine","runner":"ubuntu-latest","version":"3.18","platform":"linux/arm/v6","install_type":"docker","dockerfile":"Dockerfile.alpine.3.18.linux-arm-v6"},{"display_name":"alpine-3.17 (linux/arm/v6)","os":"alpine","runner":"ubuntu-latest","version":"3.17","platform":"linux/arm/v6","install_type":"docker","dockerfile":"Dockerfile.alpine.3.17.linux-arm-v6"},{"display_name":"alpine-3.16 (linux/arm/v6)","os":"alpine","runner":"ubuntu-latest","version":"3.16","platform":"linux/arm/v6","install_type":"docker","dockerfile":"Dockerfile.alpine.3.16.linux-arm-v6"},{"display_name":"rockylinux-9","os":"rockylinux","runner":"ubuntu-latest","version":"9","platform":null,"install_type":"docker","dockerfile":"Dockerfile.rockylinux.9"},{"display_name":"rockylinux-8","os":"rockylinux","runner":"ubuntu-latest","version":"8","platform":null,"install_type":"docker","dockerfile":"Dockerfile.rockylinux.8"},{"display_name":"centos-7","os":"centos","runner":"ubuntu-latest","version":"7","platform":null,"install_type":"docker","dockerfile":"Dockerfile.centos.7"},{"display_name":"debian-testing-slim","os":"debian","runner":"ubuntu-latest","version":"testing-slim","platform":null,"install_type":"docker","dockerfile":"Dockerfile.debian.testing-slim"},{"display_name":"debian-stable-slim","os":"debian","runner":"ubuntu-latest","version":"stable-slim","platform":null,"install_type":"docker","dockerfile":"Dockerfile.debian.stable-slim"},{"display_name":"debian-oldstable-slim","os":"debian","runner":"ubuntu-latest","version":"oldstable-slim","platform":null,"install_type":"docker","dockerfile":"Dockerfile.debian.oldstable-slim"},{"display_name":"ubuntu-lunar","os":"ubuntu","runner":"ubuntu-latest","version":"lunar","platform":null,"install_type":"docker","dockerfile":"Dockerfile.ubuntu.lunar"},{"display_name":"ubuntu-kinetic","os":"ubuntu","runner":"ubuntu-latest","version":"kinetic","platform":null,"install_type":"docker","dockerfile":"Dockerfile.ubuntu.kinetic"},{"display_name":"ubuntu-jammy","os":"ubuntu","runner":"ubuntu-latest","version":"jammy","platform":null,"install_type":"docker","dockerfile":"Dockerfile.ubuntu.jammy"},{"display_name":"macos-latest","os":"macos","runner":"macos-latest","version":"latest","platform":null,"install_type":"shell","dockerfile":"Dockerfile.macos.latest"},{"display_name":"windows-latest","os":"windows","runner":"windows-latest","version":"latest","platform":null,"install_type":"powershell","dockerfile":"Dockerfile.windows.latest"}]} |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.