From 5272bc1c791ac55a80feef9d96ebe89e6e5b0863 Mon Sep 17 00:00:00 2001 From: Rob Ede Date: Mon, 22 Nov 2021 23:42:47 +0000 Subject: [PATCH] split out coverage and doc test ci jobs --- .github/workflows/ci.yml | 49 ++++++++++++++++++---------------- .github/workflows/coverage.yml | 32 ++++++++++++++++++++++ 2 files changed, 58 insertions(+), 23 deletions(-) create mode 100644 .github/workflows/coverage.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6a79657ce..160c16b8e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -68,29 +68,6 @@ jobs: timeout-minutes: 40 with: { command: ci-test } - # only run on Linux due to unknown issue with running doc tests on macOS - - name: doc tests - uses: actions-rs/cargo@v1 - timeout-minutes: 40 - with: - command: ci-doctest - args: -- --nocapture - - - name: Generate coverage file - if: > - matrix.version == 'stable' - && github.ref == 'refs/heads/master' - run: | - cargo install cargo-tarpaulin --vers "^0.13" - cargo tarpaulin --out Xml --verbose - - name: Upload to Codecov - if: > - matrix.version == 'stable' - && github.ref == 'refs/heads/master' - uses: codecov/codecov-action@v1 - with: - file: cobertura.xml - - name: Clear the cargo caches run: | cargo install cargo-cache --version 0.6.2 --no-default-features --features ci-autoclean @@ -157,3 +134,29 @@ jobs: run: | cargo install cargo-cache --version 0.6.2 --no-default-features --features ci-autoclean cargo-cache + + doc_tests: + name: doc tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Install Rust (nightly) + uses: actions-rs/toolchain@v1 + with: + toolchain: nightly-x86_64-unknown-linux-gnu + profile: minimal + override: true + + - name: Generate Cargo.lock + uses: actions-rs/cargo@v1 + with: { command: generate-lockfile } + - name: Cache Dependencies + uses: Swatinem/rust-cache@v1.3.0 + + - name: doc tests + uses: actions-rs/cargo@v1 + timeout-minutes: 40 + with: + command: ci-doctest + args: -- --nocapture diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 000000000..eac45bb12 --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,32 @@ +name: Coverage + +on: + push: + branches: [master] + +jobs: + coverage: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Install stable + uses: actions-rs/toolchain@v1 + with: + toolchain: stable-x86_64-unknown-linux-gnu + profile: minimal + override: true + + - name: Generate Cargo.lock + uses: actions-rs/cargo@v1 + with: { command: generate-lockfile } + - name: Cache Dependencies + uses: Swatinem/rust-cache@v1.2.0 + + - name: Generate coverage file + run: | + cargo install cargo-tarpaulin --vers "^0.13" + cargo tarpaulin --workspace --out Xml --verbose + - name: Upload to Codecov + uses: codecov/codecov-action@v1 + with: { file: cobertura.xml }