Skip to content

Commit

Permalink
Adjust CI policy:
Browse files Browse the repository at this point in the history
* Only require tests to pass on Linux.
* Remove the confusing and unnecessary "NOT_A_PUZZLE" state.

Signed-off-by: Daira-Emma Hopwood <[email protected]>
  • Loading branch information
daira committed Dec 9, 2024
1 parent 8b3393a commit 28ce189
Showing 1 changed file with 57 additions and 18 deletions.
75 changes: 57 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,70 @@ on:
merge_group:

jobs:
test:
name: >
Test${{
matrix.state != 'NOT_A_PUZZLE' && format(' {0}', matrix.state) || ''
}} on ${{ matrix.target }}
required-test:
name: Test ${{ matrix.state }} on ${{ matrix.target }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.state != 'NOT_A_PUZZLE' }}
strategy:
matrix:
target:
- Linux
- macOS
- Windows
state:
- NOT_A_PUZZLE
- no-Orchard
- Orchard
- NU7

include:
- target: Linux
os: ubuntu-latest-8cores

- state: Orchard
extra_flags: orchard
- state: NU7
extra_flags: orchard
rustflags: '--cfg zcash_unstable="nu7"'

env:
RUSTFLAGS: ${{ matrix.rustflags }}
RUSTDOCFLAGS: ${{ matrix.rustflags }}

steps:
- uses: actions/checkout@v4
- id: prepare
uses: ./.github/actions/prepare
with:
extra-features: ${{ matrix.extra_flags || '' }}
- uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-msrv-${{ hashFiles('**/Cargo.lock') }}
- name: Run tests
run: >
cargo test
--workspace
${{ steps.prepare.outputs.feature-flags }}
- name: Verify working directory is clean
run: git diff --exit-code

test:
name: Test ${{ matrix.state }} on ${{ matrix.target }}
runs-on: ${{ matrix.os }}
continue-on-error: true
strategy:
matrix:
target:
- macOS
- Windows
state:
- no-Orchard
- Orchard
- NU7

include:
- target: macOS
os: macOS-latest
- target: Windows
Expand All @@ -52,7 +95,7 @@ jobs:
- id: prepare
uses: ./.github/actions/prepare
with:
extra-features: ${{ matrix.state != 'NOT_A_PUZZLE' && matrix.extra_flags || '' }}
extra-features: ${{ matrix.extra_flags || '' }}
- uses: actions/cache@v4
with:
path: |
Expand All @@ -71,7 +114,7 @@ jobs:
run: git diff --exit-code

test-slow:
name: Slow Test
name: Slow Test ${{ matrix.state }} on ${{ matrix.target }}
runs-on: ${{ matrix.os }}
continue-on-error: true
strategy:
Expand Down Expand Up @@ -123,12 +166,8 @@ jobs:

# States that we want to ensure can be built, but that we don't actively run tests for.
check-msrv:
name: >
Check${{
matrix.state != 'NOT_A_PUZZLE' && format(' {0}', matrix.state) || ''
}} build on ${{ matrix.target }}
name: Check ${{ matrix.state }} build on ${{ matrix.target }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.state != 'NOT_A_PUZZLE' }}
strategy:
matrix:
target:
Expand Down Expand Up @@ -158,7 +197,7 @@ jobs:
- id: prepare
uses: ./.github/actions/prepare
with:
extra-features: ${{ matrix.state != 'NOT_A_PUZZLE' && matrix.extra_flags || '' }}
extra-features: ${{ matrix.extra_flags || '' }}
- uses: actions/cache@v4
with:
path: |
Expand Down Expand Up @@ -413,7 +452,7 @@ jobs:
required-checks:
name: Required status checks have passed
needs:
- test
- required-test
- check-msrv
- build-latest
- build-nodefault
Expand Down

0 comments on commit 28ce189

Please sign in to comment.