diff --git a/.github/workflows/cpal.yml b/.github/workflows/cpal.yml index 765e6f09d..3d0306f6a 100644 --- a/.github/workflows/cpal.yml +++ b/.github/workflows/cpal.yml @@ -78,32 +78,27 @@ jobs: - name: Run all features run: cargo test --all --all-features --verbose - linux-check-and-test-armv7: - runs-on: ubuntu-latest + linux-check-and-test-arm64: + runs-on: ubuntu-24.04-arm64 steps: - - name: Checkout sources - uses: actions/checkout@v4 - - - name: Install stable toolchain - uses: dtolnay/rust-toolchain@stable - with: - target: armv7-unknown-linux-gnueabihf - - - name: Install cross - run: cargo install cross - - - name: Check without features for armv7 - run: cross check --target armv7-unknown-linux-gnueabihf --workspace --no-default-features --verbose - - - name: Test without features for armv7 - run: cross test --target armv7-unknown-linux-gnueabihf --workspace --no-default-features --verbose - - - name: Check all features for armv7 - run: cross check --target armv7-unknown-linux-gnueabihf --workspace --all-features --verbose - - - name: Test all features for armv7 - run: cross test --target armv7-unknown-linux-gnueabihf --workspace --all-features --verbose - + - name: Checkout sources + uses: actions/checkout@v4 + + - name: Build Docker image + run: docker build -t cpal-arm64 . + + - name: Check without features + run: docker run --rm -v ${{ github.workspace }}:/workspace cpal-arm64 cargo check --workspace --no-default-features --verbose + + - name: Test without features + run: docker run --rm -v ${{ github.workspace }}:/workspace cpal-arm64 cargo test --workspace --no-default-features --verbose + + - name: Check all features + run: docker run --rm -v ${{ github.workspace }}:/workspace cpal-arm64 cargo check --workspace --all-features --verbose + + - name: Test all features + run: docker run --rm -v ${{ github.workspace }}:/workspace cpal-arm64 cargo test --workspace --all-features --verbose + asmjs-wasm32-test: strategy: matrix: diff --git a/CHANGELOG.md b/CHANGELOG.md index b3f6277db..e3498c190 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ - CoreAudio: Detect default audio device lazily when building a stream, instead of during device enumeration. - iOS: Fix example by properly activating audio session. - WASAPI: Expose IMMDevice from WASAPI host Device. +- CoreAudio: The `Device.is_default` parameter has been removed, as it did not function as intended. To determine whether an audio device is default, call `is_default_device` in macos/mod.rs. +- Update `Dockerfile` for arm64 Linux devices to include build tools, Rust, and curl by default. # Version 0.16.0 (2025-06-07) diff --git a/Dockerfile b/Dockerfile index 3fa3b24ab..feff7bf36 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,14 @@ -ARG CROSS_BASE_IMAGE -FROM $CROSS_BASE_IMAGE +FROM rust:slim -ENV PKG_CONFIG_ALLOW_CROSS 1 -ENV PKG_CONFIG_PATH /usr/lib/arm-linux-gnueabihf/pkgconfig/ +ENV PKG_CONFIG_ALLOW_CROSS=1 +ENV PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig/ +# Install audio essentials RUN dpkg --add-architecture armhf && \ apt-get update && \ apt-get install libasound2-dev:armhf -y && \ - apt-get install libjack-jackd2-dev:armhf libjack-jackd2-0:armhf -y \ + apt-get install libjack-jackd2-dev:armhf libjack-jackd2-0:armhf -y && \ + apt-get install build-essential -y + +# Default into /workspace/ +WORKDIR /workspace \ No newline at end of file