name: CI on: [push, pull_request, workflow_dispatch] jobs: ci: runs-on: ubuntu-latest strategy: matrix: rust: - 1.70.0 - stable - beta - nightly include: - rust: 1.70.0 allow_failure: false - rust: stable allow_failure: false - rust: beta allow_failure: false - rust: nightly allow_failure: true fail-fast: false steps: - uses: actions/checkout@v4 - name: Downgrade packages for MSRV if: matrix.rust == '1.70.0' run: | cargo add --dev jsonschema@0.20 cargo add --dev garde --git https://github.com/jprochazk/garde.git --rev be00ddddf8de14530ee890ccfdbaf0b13fb32852 cargo add --dev validator@0.18.1 cargo update url --precise 2.5.2 working-directory: ./schemars - uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust }} - 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 --all-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