name: CI on: [push, pull_request, workflow_dispatch] jobs: ci: runs-on: ubuntu-latest env: # work-around https://github.com/rust-lang/cargo/issues/10303 CARGO_NET_GIT_FETCH_WITH_CLI: ${{ matrix.rust == '1.45.0' }} strategy: matrix: rust: - 1.45.0 - stable - beta - nightly include: - rust: 1.45.0 test_features: "--features impl_json_schema" allow_failure: false - rust: stable test_features: "--all-features" allow_failure: false - rust: beta test_features: "--all-features" allow_failure: false - rust: nightly test_features: "--all-features" allow_failure: true fail-fast: false steps: - uses: actions/checkout@v1 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} override: true - if: matrix.rust == '1.45.0' # work-around https://github.com/serde-rs/serde/issues/2255 run: cargo update -p serde --precise 1.0.142 && cargo update -p once_cell --precise 1.10.0 - name: Check with no feature flags run: cargo check --verbose --no-default-features continue-on-error: ${{ matrix.allow_failure }} working-directory: ./schemars - name: Run tests run: cargo test --verbose ${{ matrix.test_features }} --no-fail-fast continue-on-error: ${{ matrix.allow_failure }} working-directory: ./schemars - name: Run derive tests run: cargo test --verbose --all-features --no-fail-fast continue-on-error: ${{ matrix.allow_failure }} working-directory: ./schemars_derive