summaryrefslogtreecommitdiff
path: root/.cirrus.yml
diff options
context:
space:
mode:
authorChris Evich <cevich@redhat.com>2021-09-09 13:46:21 -0400
committerChris Evich <cevich@redhat.com>2021-09-21 14:34:30 -0400
commit319fcf52fc5eaa3a83c4a152405910a5b516f89a (patch)
treeca48a18b2a8c52b3a5b3265857638729b2dd45cc /.cirrus.yml
parentcd7b48198c38c5028540e85dc72dd3406f4318f0 (diff)
downloadpodman-319fcf52fc5eaa3a83c4a152405910a5b516f89a.tar.gz
podman-319fcf52fc5eaa3a83c4a152405910a5b516f89a.tar.bz2
podman-319fcf52fc5eaa3a83c4a152405910a5b516f89a.zip
Cross-build release-archives w/ arch in filename
Fixes #11417 Cross-building the podman-remote documentation requires a functional native architecture executable. However `make` only deals with files/timestamps, it doesn't understand if an existing binary will function on the system or not. This makes building cross-platform releases incredibly accident-prone and fragile. A practical way to deal with this, is via multiple conditional (nested) `make` calls along with careful manipulation of `$GOOS` and `$GOARCH`. Also, when cross-building releases be kind to humans and cleanup any non-native binaries left behind. Update the `Alt Arch. Cross` Cirrus-CI task to build release archives for all Linux architectures supported by golang and podman. Update the `OSX Cross` task to additionally build for the M1 (arm64) architecture. Finally, update the release process documentation to reflect the new locations (Cirrus-CI task names) for the release archives. Include a note about additional manual work being required to produce the signed `.dmg` file for MacOS. Signed-off-by: Chris Evich <cevich@redhat.com>
Diffstat (limited to '.cirrus.yml')
-rw-r--r--.cirrus.yml10
1 files changed, 7 insertions, 3 deletions
diff --git a/.cirrus.yml b/.cirrus.yml
index 581aaaa7b..968854771 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -359,11 +359,15 @@ osx_alt_build_task:
TEST_FLAVOR: "altbuild"
ALT_NAME: 'OSX Cross'
osx_instance:
- image: 'catalina-base'
- script:
+ image: 'big-sur-base'
+ setup_script:
- brew install go
- brew install go-md2man
- - make podman-remote-release-darwin.zip
+ - go version
+ build_amd64_script:
+ - make podman-remote-release-darwin_amd64.zip
+ build_arm64_script:
+ - make podman-remote-release-darwin_arm64.zip GOARCH=arm64
always: *binary_artifacts