CI: add debugprint to musl targets #43
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# inspired by https://github.com/shssoichiro/oxipng/blob/15ecc9ed00199f1fbfe0989d67a43ff3e6faff6a/.github/workflows/oxipng.yml | |
name: build | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
jobs: | |
build: | |
name: build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
target: | |
- x86_64-unknown-linux-gnu | |
- x86_64-unknown-linux-musl | |
- aarch64-unknown-linux-gnu | |
- aarch64-unknown-linux-musl | |
- x86_64-pc-windows-msvc | |
- i686-pc-windows-msvc | |
- x86_64-apple-darwin | |
- aarch64-apple-darwin | |
include: | |
- target: x86_64-unknown-linux-gnu | |
os: ubuntu-latest | |
target-apt-arch: amd64 | |
- target: x86_64-unknown-linux-musl | |
os: ubuntu-latest | |
target-apt-arch: amd64 | |
- target: aarch64-unknown-linux-gnu | |
os: ubuntu-latest | |
target-apt-arch: arm64 | |
- target: aarch64-unknown-linux-musl | |
os: ubuntu-latest | |
target-apt-arch: arm64 | |
- target: x86_64-pc-windows-msvc | |
os: windows-latest | |
- target: i686-pc-windows-msvc | |
os: windows-latest | |
- target: x86_64-apple-darwin | |
os: macos-latest | |
- target: aarch64-apple-darwin | |
os: macos-latest | |
env: | |
PROJECT_NAME: autocrap | |
CARGO_BUILD_TARGET: ${{ matrix.target }} | |
CARGO_TERM_COLOR: always | |
MACOSX_DEPLOYMENT_TARGET: 10.12 | |
RUSTFLAGS: | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
# - name: set up Ubuntu multiarch | |
# if: startsWith(matrix.os, 'ubuntu') && matrix.target-apt-arch != 'amd64' | |
# run: | | |
# readonly DISTRO_CODENAME=$(lsb_release -c | sed -E 's/Codename:\s*//') | |
# echo "DISTRO_CODENAME=$DISTRO_CODENAME" | |
# sudo dpkg --add-architecture "${{ matrix.target-apt-arch }}" | |
# sudo sed -i "s/^deb http/deb [arch=$(dpkg-architecture -q DEB_HOST_ARCH)] http/" /etc/apt/sources.list | |
# sudo sed -i "s/^deb mirror/deb [arch=$(dpkg-architecture -q DEB_HOST_ARCH)] mirror/" /etc/apt/sources.list | |
# for suite in '' '-updates' '-backports' '-security'; do | |
# echo "deb [arch=${{ matrix.target-apt-arch }}] http://ports.ubuntu.com/ $DISTRO_CODENAME$suite main universe multiverse" | \ | |
# sudo tee -a /etc/apt/sources.list >/dev/null | |
# done | |
# - name: cache QEMU and AArch64 cross compiler | |
# if: startsWith(matrix.target, 'aarch64-unknown-linux') | |
# uses: awalsh128/cache-apt-pkgs-action@latest | |
# with: | |
# packages: qemu-user gcc-aarch64-linux-gnu libc6:arm64 | |
# version: 1.0 | |
# - name: cache musl development files | |
# if: endsWith(matrix.target, '-musl') | |
# uses: awalsh128/cache-apt-pkgs-action@latest | |
# with: | |
# packages: musl-tools musl-dev:${{ matrix.target-apt-arch }} | |
# version: 1.0 | |
- name: cache apt packages | |
if: startsWith(matrix.os, 'ubuntu') | |
uses: awalsh128/cache-apt-pkgs-action@latest | |
with: | |
packages: libasound2-dev | |
version: 1.0 | |
- name: debugprint | |
if: endsWith(matrix.target, '-musl') | |
run: | | |
find / -name alsa.pc 2> /dev/null || true | |
- name: build | |
uses: houseabsolute/actions-rust-cross@v0 | |
with: | |
command: build | |
target: ${{ matrix.target }} | |
args: "--verbose" | |
strip: true | |
- name: upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.PROJECT_NAME }}-${{ matrix.target }} | |
path: | | |
target/${{ matrix.target }}/debug/${{ env.PROJECT_NAME }} | |
target/${{ matrix.target }}/debug/${{ env.PROJECT_NAME }}.exe |