From 319fcf52fc5eaa3a83c4a152405910a5b516f89a Mon Sep 17 00:00:00 2001 From: Chris Evich Date: Thu, 9 Sep 2021 13:46:21 -0400 Subject: 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 --- .cirrus.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to '.cirrus.yml') 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 -- cgit v1.2.3-54-g00ecf