Extend the CI job with code coverage reports by cargo tarpaulin. (#371) (#372)

Trigger a new code coverage report GitHub Actions CI workflow after successful completion of the CI workflow (#371).
Also attempts to stablize the flakey add ROAs UI test (#377).
This commit is contained in:
Ximon Eighteen
2021-01-15 15:10:30 +01:00
committed by GitHub
parent 1d1935e69d
commit 8a7a7bcb3e
3 changed files with 54 additions and 18 deletions
+6 -18
View File
@@ -1,4 +1,5 @@
name: CI
on:
push:
paths-ignore:
@@ -13,6 +14,7 @@ on:
- 'LICENSE'
- 'README.md'
- 'tests/e2e/**'
# Hmm, annoying, do we really have to duplicate this?
pull_request:
paths-ignore:
@@ -27,6 +29,7 @@ on:
- 'LICENSE'
- 'README.md'
- 'tests/e2e/**'
jobs:
build:
name: build
@@ -35,6 +38,7 @@ jobs:
matrix:
os: [ubuntu-latest]
rust: [stable, 1.45.0, beta]
args: ["", "--all-features"]
steps:
- name: Checkout repository
uses: actions/checkout@v1
@@ -42,21 +46,5 @@ jobs:
uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ matrix.rust }}
- run: cargo build --verbose
- run: cargo test --verbose 2>&1
allfeatures:
name: allfeatures
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
rust: [stable, 1.45.0, beta]
steps:
- name: Checkout repository
uses: actions/checkout@v1
- name: Install Rust
uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ matrix.rust }}
- run: cargo build --verbose --all-features
- run: cargo test --verbose --all-features 2>&1
- run: cargo build --verbose ${{ matrix.args }}
- run: cargo test --verbose ${{ matrix.args }} 2>&1
+40
View File
@@ -0,0 +1,40 @@
name: Coverage
on:
workflow_run:
workflows: ["CI"]
types:
- completed
jobs:
coverage:
name: coverage
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
rust: [stable]
args: ["", "--all-features"]
steps:
- name: Checkout repository
uses: actions/checkout@v1
with:
# at the time of writing workflow_run.head_commit.id appears to be
# the commit that triggered the CI workflow which then triggered us.
ref: ${{ github.event.workflow_run.head_commit.id }}
- name: Install Rust
uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ matrix.rust }}
- run: cargo install cargo-tarpaulin
# use a long timeout with tarpaulin as UI tests have to docker pull the
# cypress.io image which can cause a test timeout with the default tarpaulin
# timeout of 1 minute.
- run: cargo tarpaulin --verbose --out Html --timeout 180 ${{ matrix.args }}
- name: Archive code coverage results
uses: actions/upload-artifact@v2
with:
name: code-coverage-report ${{ matrix.os }} ${{ matrix.rust }} ${{ matrix.args }}
path: tarpaulin-report.html