mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 15:20:51 +00:00
refactor: simplify Linux cross-compilation setup and install cargo-zigbuild
This commit is contained in:
37
.github/workflows/release.yml
vendored
37
.github/workflows/release.yml
vendored
@@ -112,27 +112,11 @@ jobs:
|
|||||||
name: release-notes
|
name: release-notes
|
||||||
path: .github
|
path: .github
|
||||||
|
|
||||||
- name: Install apt packages
|
- name: Install cargo-zigbuild (Linux cross-compilation)
|
||||||
if: runner.os == 'Linux' && matrix.apt != ''
|
if: runner.os == 'Linux'
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
pip install cargo-zigbuild
|
||||||
sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu musl-tools
|
echo "$HOME/.local/bin" >> $GITHUB_PATH
|
||||||
case "${{ matrix.target }}" in
|
|
||||||
aarch64-unknown-linux-gnu)
|
|
||||||
echo "CC_aarch64-unknown-linux-gnu=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
|
|
||||||
echo "AR_aarch64-unknown-linux-gnu=aarch64-linux-gnu-ar" >> $GITHUB_ENV
|
|
||||||
;;
|
|
||||||
x86_64-unknown-linux-musl)
|
|
||||||
echo "CC_x86_64-unknown-linux-musl=x86_64-linux-musl-gcc" >> $GITHUB_ENV
|
|
||||||
;;
|
|
||||||
aarch64-unknown-linux-musl)
|
|
||||||
curl -L https://musl.cc/aarch64-linux-musl-cross.tgz -o /tmp/musl-aarch64.tgz
|
|
||||||
sudo tar xzf /tmp/musl-aarch64.tgz -C /opt
|
|
||||||
echo "/opt/aarch64-linux-musl-cross/bin" >> $GITHUB_PATH
|
|
||||||
echo "CC_aarch64-unknown-linux-musl=aarch64-linux-musl-gcc" >> $GITHUB_ENV
|
|
||||||
echo "AR_aarch64-unknown-linux-musl=aarch64-linux-musl-ar" >> $GITHUB_ENV
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
- name: Setup LLVM + MinGW (gnullvm)
|
- name: Setup LLVM + MinGW (gnullvm)
|
||||||
if: contains(matrix.target, 'gnullvm')
|
if: contains(matrix.target, 'gnullvm')
|
||||||
@@ -148,17 +132,12 @@ jobs:
|
|||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
|
||||||
MATRIX_ENV_CC: ${{ matrix.env_cc }}
|
|
||||||
MATRIX_ENV_LINKER: ${{ matrix.env_linker }}
|
|
||||||
run: |
|
run: |
|
||||||
if [[ -n "${MATRIX_ENV_CC:-}" ]]; then
|
if [ "${{ runner.os }}" = "Linux" ] && [ "${{ matrix.target }}" != "x86_64-unknown-linux-gnu" ]; then
|
||||||
export "${MATRIX_ENV_CC?}"
|
cargo zigbuild --release --target ${{ matrix.target }}
|
||||||
fi
|
else
|
||||||
if [[ -n "${MATRIX_ENV_LINKER:-}" ]]; then
|
|
||||||
export "${MATRIX_ENV_LINKER?}"
|
|
||||||
fi
|
|
||||||
cargo build --release --target ${{ matrix.target }}
|
cargo build --release --target ${{ matrix.target }}
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Derive version string
|
- name: Derive version string
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
Reference in New Issue
Block a user