diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 65ef34ab7..1a11a128f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -147,18 +147,31 @@ jobs: echo "SDKROOT=$(xcrun -sdk macosx --show-sdk-path)" >> $GITHUB_ENV echo "MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx --show-sdk-platform-version)" >> $GITHUB_ENV - - name: Linux ARM setup - if: matrix.target == 'aarch64-unknown-linux-musl' + - name: Musl setup (x86_64) + if: matrix.target == 'x86_64-unknown-linux-musl' run: | sudo apt-get update -y - sudo apt-get install -y gcc-aarch64-linux-gnu - echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV + sudo apt-get install -y clang musl-tools musl-dev + + # g++ supports musl + sudo ln -s /usr/bin/g++ /usr/bin/musl-g++ + + rustup target add ${{ matrix.target }} - - name: Musl setup - if: contains(matrix.target, 'musl') + - name: Musl setup (aarch64) + if: matrix.target == 'aarch64-unknown-linux-musl' run: | sudo apt-get update -y - sudo apt-get install -y musl-tools musl-dev + sudo apt-get install -y clang musl-tools musl-dev gcc-aarch64-linux-gnu + + # g++ supports musl + sudo ln -s /usr/bin/g++ /usr/bin/musl-g++ + + # cc-rs uses the wrong defaults for this target so we override them. + echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV + echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV + echo "CC=aarch64-linux-gnu-gcc" >> $GITHUB_ENV + rustup target add ${{ matrix.target }} - name: Build binaries