feat: add optional 64-bit sample precision #1118
This file contains hidden or 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
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main, master] | |
| env: | |
| RUSTFLAGS: "-C debuginfo=0 -D warnings" | |
| CARGO_TERM_COLOR: always | |
| CARGO_INCREMENTAL: 0 | |
| jobs: | |
| tests: | |
| name: Tests | |
| runs-on: ${{ matrix.os }} | |
| continue-on-error: ${{ matrix.toolchain == 'nightly' }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [macos-latest, windows-latest, ubuntu-latest] | |
| toolchain: [stable, beta, nightly] | |
| include: | |
| - os: macos-latest | |
| MACOS: true | |
| - os: windows-latest | |
| - os: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install linux build requirements | |
| run: sudo apt install --yes --no-install-recommends libasound2-dev pkg-config | |
| if: contains(matrix.os, 'ubuntu') | |
| - name: Install ${{ matrix.toolchain }} toolchain | |
| run: rustup toolchain install ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} | |
| - run: | | |
| rustup component add clippy | |
| cargo clippy --all-features -- -D warnings | |
| if: matrix.toolchain == 'stable' && matrix.os == 'ubuntu-latest' | |
| - run: | | |
| rustup component add rustfmt | |
| cargo fmt --all -- --check | |
| if: matrix.toolchain == 'stable' && matrix.os == 'ubuntu-latest' | |
| - run: cargo test --all-targets | |
| - run: cargo test --all-targets --all-features | |
| - run: cargo test --lib --bins --tests --benches --features=experimental | |
| # `cargo test` does not check benchmarks and `cargo test --all-targets` excludes | |
| # documentation tests. Therefore, we need an additional docs test command here. | |
| - run: cargo test --doc | |
| # Check minimal build. | |
| - run: cargo check --tests --lib --no-default-features | |
| # Check alternative decoders. | |
| - run: cargo check --tests --lib --no-default-features --features claxon,hound,minimp3,lewton | |
| # Test 64-bit sample mode | |
| - run: cargo test --all-targets --features 64bit | |
| - run: cargo test --doc --features 64bit | |
| - run: cargo test --all-targets --all-features --features 64bit | |
| # Check examples compile in both modes | |
| - run: cargo check --examples | |
| - run: cargo check --examples --features 64bit |