Skip to content

Commit

Permalink
Split journey tests out into their own CI job
Browse files Browse the repository at this point in the history
In the `justfile`, this renames the old `ci-test` recipe to
`ci-test-full`, and has `ci-test` no longer clean the target
directory nor run journey tests.

The CI `test` job thus remains the same, but it does moderately
less work. A new CI job, `test-journey`, is introduced to run the
journey tests (still via `ci-test-journey` recipe).

This change is intended to allow greater parallelism, and possibly
make caches work better. The CI `test` job has sometimes been a few
minutes slower than before, ever since 5173e9a (GitoxideLabs#1668). See
comments in GitoxideLabs#1668 for some discussion on this change.
  • Loading branch information
EliahKagan committed Nov 14, 2024
1 parent f1a171b commit 711c2f5
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
12 changes: 12 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,17 @@ jobs:
GIX_TEST_IGNORE_ARCHIVES: '1'
run: just ci-test

test-journey:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: extractions/setup-just@v2
- name: Run journey tests
run: just ci-journey-tests

test-fast:
strategy:
matrix:
Expand Down Expand Up @@ -342,6 +353,7 @@ jobs:
needs:
- pure-rust-build
- test
- test-journey
- test-fast
- test-32bit
- lint
Expand Down
11 changes: 8 additions & 3 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,15 @@ alias nt := nextest
# run all tests, clippy, including journey tests, try building docs
test: clippy check doc unit-tests journey-tests-pure journey-tests-small journey-tests-async journey-tests

# run all tests, without clippy, including journey tests, try building docs (and clear target on CI)
ci-test: check doc unit-tests clear-target ci-journey-tests
# run all tests, without clippy, including journey tests, try building docs (and clear target)
ci-test-full: check doc unit-tests clear-target ci-journey-tests

# run all journey tests, but assure these are running after `cargo clean` (and workaround a just-issue of deduplicating targets)
# run all tests, without clippy, and try building docs (without clearing the target)
ci-test: check doc unit-tests

# run all journey tests
# these should be run in a fresh clone or after `cargo clean`
# (and workaround a just-issue of deduplicating targets)
ci-journey-tests: journey-tests-pure journey-tests-small journey-tests-async journey-tests

clear-target:
Expand Down

0 comments on commit 711c2f5

Please sign in to comment.