1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
name: Build and test
on:
push:
pull_request:
jobs:
full_ci:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
toolchain: [ nightly, stable, 1.87.0 ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Setup rust version
run: rustup default ${{ matrix.toolchain }}
- if: matrix.toolchain == 'nightly'
run: |
cargo check
cargo check --features "nightly"
cargo check --examples
cargo check --examples --features "nightly"
cargo test --features "nightly" --no-fail-fast -- --nocapture
cargo test --features "nightly" --no-fail-fast -- --nocapture
cargo doc
- if: matrix.toolchain == 'stable'
run: |
cargo fmt -- --check
cargo check
cargo check --examples
cargo clippy
cargo clippy --features "fast_resize_unstable"
cargo test --no-fail-fast -- --nocapture
cargo test --release --no-fail-fast -- --nocapture
cargo test --features fast_resize_unstable --no-fail-fast -- --nocapture
cargo test --features fast_resize_unstable --release --no-fail-fast -- --nocapture
cargo doc
- if: matrix.toolchain == '1.87.0'
run: |
# cargo update -p image --precise 0.25.4 # Image-rs often require newer rust version
cargo check
cargo check --examples
cargo test --no-fail-fast -- --nocapture
cargo test --release --no-fail-fast -- --nocapture
cargo test --features fast_resize_unstable --no-fail-fast -- --nocapture
cargo test --features fast_resize_unstable --release --no-fail-fast -- --nocapture
cargo doc
|