diff options
author | Chris Evich <cevich@redhat.com> | 2021-09-09 13:46:21 -0400 |
---|---|---|
committer | Chris Evich <cevich@redhat.com> | 2021-09-21 14:34:30 -0400 |
commit | 319fcf52fc5eaa3a83c4a152405910a5b516f89a (patch) | |
tree | ca48a18b2a8c52b3a5b3265857638729b2dd45cc /.cirrus.yml | |
parent | cd7b48198c38c5028540e85dc72dd3406f4318f0 (diff) | |
download | podman-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.yml | 10 |
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 |