schemars/.github/workflows/ci.yml
2021-10-10 18:49:34 +01:00

50 lines
1.6 KiB
YAML

name: CI
on: [push, pull_request, workflow_dispatch]
jobs:
ci:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- 1.37.0
- stable
- beta
- nightly
include:
- rust: 1.37.0
# exclude ui_test as the output is slightly different in rustc 1.37
test_features: "--features impl_json_schema,chrono,indexmap,either,uuid,smallvec,arrayvec,enumset"
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
- name: Check with no feature flags
run: cargo check --verbose --no-default-features
continue-on-error: ${{ matrix.allow_failure }}
working-directory: ./schemars
- if: matrix.rust == '1.37.0'
run: cargo update -p indexmap --precise 1.6.2
- 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