Skip to content

merge: land #8629 (cargo-test prune tolerates a missing target/debug/deps) - #8631

Merged
proggeramlug merged 2 commits into
mainfrom
merge/8629
Aug 22, 2026
Merged

merge: land #8629 (cargo-test prune tolerates a missing target/debug/deps)#8631
proggeramlug merged 2 commits into
mainfrom
merge/8629

Conversation

@proggeramlug

@proggeramlug proggeramlug commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Lands #8629 (external contributor, fork PR) plus the changelog fragment it was
missing.

Audit

The mechanism checks out: find on a missing directory exits 1, and GitHub
Actions runs run: blocks as bash -e {0}, so that rc kills the step even
though every test passed. Verified locally — rc 1 before the guard, rc 0 after.

actionlint findings are identical on origin/main and on this branch
(same 3, at lines 1011 and 3489; the PR touches 1078 and 1088), so the
contributor's "no new findings" claim is verified rather than taken on trust.

One noted tradeoff (not blocking)

2>/dev/null || true also suppresses genuine find errors. The prune is disk
hygiene and should never fail the job, so swallowing is the right call here —
but if it ever silently stops working, the symptom becomes a later disk
exhaustion rather than a pointed error. Recorded in the changelog fragment.

Fork PR, so this lands as a branch rather than a push to the contributor's
head ref.

Summary by CodeRabbit

  • Bug Fixes

    • Improved test workflow reliability when the build dependency directory is missing.
    • Cleanup steps no longer fail the full test job because of expected file-search errors.
  • Documentation

    • Added release notes describing the more tolerant cleanup behavior.

jdalton and others added 2 commits August 22, 2026 18:38
… step

The full cargo-test job pruned linked test binaries between packages with a bare 'find target/debug/deps ... -delete', but that directory only exists once something has built into it. When the scope's first package builds straight to --release (the perry/perry-stdlib branch above it), or before any cargo test -p <package> has run in the per-package loop, the directory is absent and find exits 1, failing the whole job even though every test passed. This has been failing main's scheduled and push CI runs repeatedly and is unrelated to any specific PR's changes.
@proggeramlug
proggeramlug merged commit 38dac3b into main Aug 22, 2026
20 of 21 checks passed
@proggeramlug
proggeramlug deleted the merge/8629 branch August 22, 2026 23:12
@coderabbitai

coderabbitai Bot commented Aug 22, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: dc0c9291-a6d9-4703-89cf-43b59189487e

📥 Commits

Reviewing files that changed from the base of the PR and between 9963215 and 9d77ac2.

📒 Files selected for processing (2)
  • .github/workflows/test.yml
  • changelog.d/8629-prune-tolerates-missing-deps.md

📝 Walkthrough

Walkthrough

The full cargo-test workflow now ignores find failures in both executable-cleanup commands. A changelog entry documents tolerance for a missing target/debug/deps directory.

Changes

Dependency cleanup tolerance

Layer / File(s) Summary
Tolerate cleanup command failures
.github/workflows/test.yml, changelog.d/8629-prune-tolerates-missing-deps.md
Both cleanup commands now append `

Estimated code review effort: 1 (Trivial) | ~3 minutes

Suggested reviewers: jdalton, thehypnoo

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch merge/8629

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants