From 0fd07ad059f2995b1ced5313ae514eaaee88f0ad Mon Sep 17 00:00:00 2001 From: Tobin Harding Date: Wed, 9 Mar 2022 08:00:18 +1100 Subject: [PATCH] Improve CI pipeline We have unnecessary runs of the `test.sh` script. We can simplify the CI pipeline and at the same time improve the docs build by using `--cfg docsrs`. - Remove the `wasm` job, replace it by enabling the `DO_WASM` env var for the stable toolchain run in the `Tests` job. - Add `--cfg docrs` flag to the docs build and set the `DO_DOCS` env var as part of the nightly toolchain run in `Tests` job. The end result is one less run of the `test.sh` script and better test coverage. --- .github/workflows/rust.yml | 47 +++++++++++++------------------------- contrib/test.sh | 4 ++-- 2 files changed, 18 insertions(+), 33 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 36680c0b3..145bdacfe 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -29,40 +29,26 @@ jobs: DO_BENCH: true run: ./contrib/test.sh - wasm: - name: Stable - Docs / WebAssembly Build - runs-on: ubuntu-latest - strategy: - matrix: - rust: - - stable - steps: - - name: Checkout Crate - uses: actions/checkout@v2 - - name: Checkout Toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.rust }} - override: true - - name: Building docs - env: - DO_DOCS: true - run: ./contrib/test.sh - - name: Running WASM build - env: - DO_WASM: true - run: ./contrib/test.sh - Tests: name: Tests runs-on: ubuntu-latest strategy: matrix: - rust: - - 1.29.0 - - beta - - stable + include: + - rust: stable + env: + DO_FEATURE_MATRIX: true + DO_WASM: true + - rust: beta + env: + DO_FEATURE_MATRIX: true + - rust: nightly + env: + DO_FEATURE_MATRIX: true + DO_DOCS: true + - rust: 1.29.0 + env: + DO_FEATURE_MATRIX: true steps: - name: Checkout Crate uses: actions/checkout@v2 @@ -76,7 +62,6 @@ jobs: if: matrix.rust == '1.29.0' run: cargo generate-lockfile --verbose && cargo update -p cc --precise "1.0.41" --verbose - name: Running cargo - env: - DO_FEATURE_MATRIX: true + env: ${{ matrix.env }} run: ./contrib/test.sh diff --git a/contrib/test.sh b/contrib/test.sh index 5ac08d045..a892a78d2 100755 --- a/contrib/test.sh +++ b/contrib/test.sh @@ -57,9 +57,9 @@ if [ "$DO_FEATURE_MATRIX" = true ]; then cargo run --example generate_keys --features=std,rand-std fi -# Docs +# Build the docs if told to (this only works with the nightly toolchain) if [ "$DO_DOCS" = true ]; then - cargo doc --all --features="$FEATURES" + RUSTDOCFLAGS="--cfg docsrs" cargo doc --all --features="$FEATURES" fi # Webassembly stuff