Update CI #146
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
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - master | |
| name: Tests | |
| jobs: | |
| check: | |
| name: Check | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| rust: [stable, "1.64", "1.61"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: ${{ matrix.rust }} | |
| - name: Change dependency versions | |
| run: git apply .github/workflows/change_version.patch | |
| - name: Remove dev-deps for MSRV | |
| run: git apply .github/workflows/remove_dev_deps.patch | |
| - run: cargo check --all-features --tests | |
| test: | |
| name: Test | |
| strategy: | |
| matrix: | |
| bits: [16, 32, 64] | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: postgres:14 | |
| env: | |
| POSTGRES_PASSWORD: '' | |
| POSTGRES_HOST_AUTH_METHOD: 'trust' | |
| ports: | |
| - 5432:5432 | |
| options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
| env: | |
| RUST_BACKTRACE: 1 | |
| RUSTFLAGS: -D warnings --cfg force_bits="${{ matrix.bits }}$" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| - run: cargo test --all-features --workspace --exclude benchmark --no-fail-fast | |
| test-x86: | |
| name: Test x86 | |
| runs-on: ubuntu-latest | |
| env: | |
| RUST_BACKTRACE: 1 | |
| RUSTFLAGS: -D warnings | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable-i686-unknown-linux-gnu | |
| - run: | | |
| sudo apt update | |
| sudo apt install gcc-multilib | |
| - run: cargo test --workspace --exclude benchmark --exclude dashu-python | |
| test-x86_64: | |
| name: Test x86_64 | |
| runs-on: ubuntu-latest | |
| env: | |
| RUST_BACKTRACE: 1 | |
| RUSTFLAGS: -D warnings | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable-x86_64-unknown-linux-gnu | |
| - run: cargo test --workspace --exclude benchmark | |
| test-no-std: | |
| name: Test no-std | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTFLAGS: -D warnings | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| - run: cargo test --no-default-features --features rand --workspace --exclude benchmark --exclude dashu-python | |
| build-benchmark: | |
| name: Build benchmark | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTFLAGS: -D warnings | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| - run: cargo build -p benchmark --features gmp | |
| build-aarch64: | |
| name: Build aarch64 | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTFLAGS: -D warnings | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| targets: aarch64-unknown-linux-gnu | |
| - run: cargo build --target aarch64-unknown-linux-gnu --all-features --workspace --exclude benchmark --exclude dashu-python | |
| fmt: | |
| name: Rustfmt | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| components: rustfmt | |
| - run: cargo fmt --all -- --check | |
| clippy: | |
| name: Clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@master | |
| with: | |
| toolchain: stable | |
| components: clippy | |
| - run: cargo clippy --all-features --all-targets --workspace --exclude benchmark -- -D warnings |