CI: Move testing of unstable features into a separate job

Closes zcash/librustzcash#1109.
This commit is contained in:
Jack Grigg 2024-01-12 15:58:26 +00:00
parent b6caa483b4
commit c8d4dacfc1
1 changed files with 35 additions and 3 deletions

View File

@ -4,18 +4,50 @@ on: [push, pull_request]
jobs: jobs:
test: test:
name: Test on ${{ matrix.os }} name: >
Test on ${{ matrix.os }}${{
matrix.extra_flags != 'NOT_A_PUZZLE' && format(' with --features {0}', matrix.extra_flags) || ''
}}
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, windows-latest, macOS-latest] os: [ubuntu-latest, windows-latest, macOS-latest]
extra_flags:
- NOT_A_PUZZLE
- orchard
- unstable-nu6
- zfuture
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Prepare feature flags
id: prepare
shell: bash
run: >
echo "flags=--features '
bundled-prover
download-params
lightwalletd-tonic
temporary-zcashd
transparent-inputs
unstable
unstable-serialization
unstable-spanning-tree
${{ matrix.extra_flags != 'NOT_A_PUZZLE' && matrix.extra_flags || '' }}
'" >> $GITHUB_OUTPUT
- name: Run tests - name: Run tests
run: cargo test --all-features --verbose --release --all run: >
cargo test
--release
--workspace
${{ steps.prepare.outputs.flags }}
- name: Run slow tests - name: Run slow tests
run: cargo test --all-features --verbose --release --all -- --ignored run: >
cargo test
--release
--workspace
${{ steps.prepare.outputs.flags }}
-- --ignored
- name: Verify working directory is clean - name: Verify working directory is clean
run: git diff --exit-code run: git diff --exit-code