From 7f1994e205030d8cfa5a64344c25e83af380c9b1 Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Wed, 12 Jun 2024 00:29:02 +1000 Subject: [PATCH] Only run unit tests for crates that are changed Signed-off-by: Jiahao XU --- .github/workflows/ci.yml | 11 +++++++++++ justfile | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0b788f06..0d3fb834 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -70,6 +70,7 @@ jobs: echo "has_detect_target_changed=$has_detect_target_changed" | tee -a "$GITHUB_OUTPUT" test: + needs: changed-files strategy: fail-fast: false matrix: @@ -95,6 +96,16 @@ jobs: with: tools: cargo-nextest + - name: Decide crates to test + env: + CRATES_CHANGED: ${{ needs.changed-files.outputs.crates_changed }} + run: | + ARGS="" + for crate in $CRATES_CHANGED; do + ARGS="$ARGS -p $crate" + done + echo "$ARGS" | tee -a "$GITHUB_ENV" + - run: just test env: GITHUB_TOKEN: ${{ secrets.CI_TEST_GITHUB_TOKEN }} diff --git a/justfile b/justfile index c813172c..25747b06 100644 --- a/justfile +++ b/justfile @@ -260,7 +260,7 @@ e2e-test-tls: (e2e-test "tls" "1.2") (e2e-test "tls" "1.3") e2e-tests: e2e-test-live e2e-test-manifest-path e2e-test-git e2e-test-other-repos e2e-test-strategies e2e-test-version-syntax e2e-test-upgrade e2e-test-tls e2e-test-self-upgrade-no-symlink e2e-test-uninstall e2e-test-subcrate e2e-test-no-track e2e-test-registries e2e-test-signing e2e-test-continue-on-failure e2e-test-private-github-repo unit-tests: print-env - cargo nextest run {{cargo-build-args}} + cargo nextest run {{cargo-build-args}} "$CARGO_NEXTEST_ADDITIONAL_ARGS" cargo test --doc {{cargo-build-args}} test: unit-tests build e2e-tests