From 96b657a45fb459fb730d2112d22c36eca6aa4af4 Mon Sep 17 00:00:00 2001 From: gotbadger Date: Wed, 15 May 2024 13:29:33 +0100 Subject: [PATCH] ci: add cross compile tools to build --- .github/actions/linux-build/Dockerfile | 2 +- .goreleaser/common.yaml | 12 ++++++++++++ contrib/install.sh | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/actions/linux-build/Dockerfile b/.github/actions/linux-build/Dockerfile index 97301bf13..93b3d8c23 100644 --- a/.github/actions/linux-build/Dockerfile +++ b/.github/actions/linux-build/Dockerfile @@ -16,7 +16,7 @@ RUN apt-get update && \ ) && \ \ apt-get update && \ - apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin git && \ + apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin git gcc-aarch64-linux-gnu g++-aarch64-linux-gnu gcc-i686-linux-gnu g++-i686-linux-gnu && \ \ wget --output-document=/tmp/go.tar.gz https://go.dev/dl/go1.21.0.linux-amd64.tar.gz && \ tar --extract --gunzip --file=/tmp/go.tar.gz --directory=/usr/local && \ diff --git a/.goreleaser/common.yaml b/.goreleaser/common.yaml index 3947277c8..c8b598b2b 100644 --- a/.goreleaser/common.yaml +++ b/.goreleaser/common.yaml @@ -50,10 +50,22 @@ builds: goarch: - 386 - amd64 + - arm64 ldflags: - -w - -X "github.com/bearer/bearer/cmd/bearer/build.Version={{.Version}}" - -X "github.com/bearer/bearer/cmd/bearer/build.CommitSHA={{.Commit}}" + overrides: + - goos: linux + goarch: 386 + env: + - CC=i686-linux-gnu-gcc + - CXX=i686-linux-gnu-g++ + - goos: linux + goarch: arm64 + env: + - CC=aarch64-linux-gnu-gcc + - CXX=aarch64-linux-gnu-g++ checksum: name_template: "checksums.txt" diff --git a/contrib/install.sh b/contrib/install.sh index dd1b4c561..2ab6c3631 100755 --- a/contrib/install.sh +++ b/contrib/install.sh @@ -57,6 +57,7 @@ get_binaries() { darwin/arm64) BINARIES="bearer" ;; linux/386) BINARIES="bearer" ;; linux/amd64) BINARIES="bearer" ;; + linux/arm64) BINARIES="bearer" ;; *) log_crit "platform $PLATFORM is not supported. Make sure this script is up-to-date and file request at https://github.com/${PREFIX}/issues/new" exit 1