From b76fb1c46f5f2a3edfe79f8894cbc2f4b91b0ae2 Mon Sep 17 00:00:00 2001 From: Daniel Lockyer Date: Sat, 30 Dec 2023 09:41:10 +0100 Subject: [PATCH] Moved Linux ARM64 compilation to native builder - Docker ends up being really slow for cross compilation and we should be able to do it as a cross compilation step from x64 --- .github/workflows/ci.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 01945178..33beb86a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,6 +26,7 @@ jobs: - x64 target: - x64 + - arm64 node: - 18 include: @@ -82,6 +83,20 @@ jobs: echo "CFLAGS=${CFLAGS:-} -include ../src/gcc-preinclude.h" >> $GITHUB_ENV echo "CXXFLAGS=${CXXFLAGS:-} -include ../src/gcc-preinclude.h" >> $GITHUB_ENV + - name: Setup cross compilation for Linux ARM64 + if: contains(matrix.os, 'ubuntu') && matrix.target == 'arm64' + run: | + sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu + echo "AS=aarch64-linux-gnu-as" >> $GITHUB_ENV + echo "STRIP=aarch64-linux-gnu-strip" >> $GITHUB_ENV + echo "AR=aarch64-linux-gnu-ar" >> $GITHUB_ENV + echo "CC=aarch64-linux-gnu-gcc" >> $GITHUB_ENV + echo "CPP=aarch64-linux-gnu-cpp" >> $GITHUB_ENV + echo "CXX=aarch64-linux-gnu-g++" >> $GITHUB_ENV + echo "LD=aarch64-linux-gnu-ld" >> $GITHUB_ENV + echo "FC=aarch64-linux-gnu-gfortran" >> $GITHUB_ENV + echo "PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig" >> $GITHUB_ENV + - name: Build binaries run: yarn prebuild -a ${{ env.TARGET }} @@ -120,7 +135,6 @@ jobs: target: - linux/arm64 variant: - - bullseye - alpine3.15 include: # musl x64 builds