diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index afb75b47..873062c8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,8 +9,15 @@ on: - master jobs: - build: - runs-on: ubuntu-latest + tests: + name: Run tests - Rust (${{ matrix.rust }}) on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - { rust: stable, os: ubuntu-latest } + - { rust: 1.50.0, os: ubuntu-latest } steps: - name: Checkout uses: actions/checkout@v2 @@ -18,13 +25,8 @@ jobs: submodules: true - uses: actions-rs/toolchain@v1 with: - toolchain: stable + toolchain: ${{ matrix.rust }} override: true - components: clippy, rustfmt - - name: Check format - run: cargo fmt --all -- --check - - name: Check with clippy - run: cargo clippy --all - name: Build with all features run: cargo build --all-features - name: Build @@ -34,7 +36,66 @@ jobs: - name: Clean run: cargo clean - # examples + rustfmt: + name: Run rustfmt - Rust (${{ matrix.rust }}) on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - { rust: stable, os: ubuntu-latest } + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + submodules: true + - uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust }} + override: true + components: rustfmt + - name: Check format + run: cargo fmt --all -- --check + + clippy: + name: Run clippy - Rust (${{ matrix.rust }}) on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - { rust: stable, os: ubuntu-latest } + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + submodules: true + - uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust }} + override: true + components: clippy + - name: Check with clippy + run: cargo clippy --all + + examples: + name: Build examples - Rust (${{ matrix.rust }}) on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - { rust: stable, os: ubuntu-latest } + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + submodules: true + - uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust }} + override: true + components: clippy, rustfmt - name: Check examples format run: cargo fmt --all -- --check working-directory: ./examples @@ -48,12 +109,23 @@ jobs: run: cargo clean working-directory: ./examples - # build on nightly + build-nightly: + name: Build nightly - Rust (${{ matrix.rust }}) on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - { rust: nightly, os: ubuntu-latest } + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + submodules: true - uses: actions-rs/toolchain@v1 with: - toolchain: nightly + toolchain: ${{ matrix.rust }} override: true - components: clippy, rustfmt - name: Build on nightly with all features run: cargo build --all-features - name: Build on nightly diff --git a/README.md b/README.md index 23d2cf5b..e07934ce 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ * [Docs](https://docs.rs/async-graphql) * [GitHub repository](https://github.com/async-graphql/async-graphql) * [Cargo package](https://crates.io/crates/async-graphql) -* Minimum supported Rust version: 1.46 or later +* Minimum supported Rust version: 1.50.0 or later ## Safety