Skip to content

ci: require execution of selected Swift package tests - #13824

Merged
teamleaderleo merged 3 commits into
mainfrom
codex/ci-package-test-evidence
Sep 23, 2026
Merged

teamleaderleo merged 3 commits into
mainfrom
codex/ci-package-test-evidence

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Sep 23, 2026 •

Copy link
Copy Markdown
Collaborator

Swift package CI could pass while a failing top-level @Test never ran: the isolated runner extracted only suite-based test names. The targeted package route also discarded declared local dependencies outside Packages/, so changes to vendor/bonsplit and vendor/stack-auth-swift-sdk-prerelease skipped their consumers’ tests.

The runner now preserves every discovered test using qualified filters. Package and Bonsplit commands require a completed, nonempty Swift Testing or XCTest result; XCTest’s overall completion is required and skipped tests do not count. The existing GhosttyKit diagnostic exception still accepts its known cosmetic error, but cannot turn empty tests or unrelated process failures green. Targeted routing uses the same transitive local-dependency graph as package selection, without turning unrelated CI edits into full package sweeps.

Validation:

  • Tests-only ffdc50a6f9a0 failed in hosted CI for both the dropped top-level test and ignored vendor dependency, before the fix commit.
  • A real minimal Swift package returned success with the old runner despite a failing top-level test; the fixed runner executes it and fails. A passing mixed Swift Testing/XCTest fixture succeeds, including an XCTest skip.
  • 20 focused execution tests pass locally, plus package-selector regressions and 14 focused routing/aggregate checks. Workflow actionlint, shell syntax, and the strict determinism scan pass.
  • Final-head hosted CI is pending.

This strengthens test execution and selection. It does not claim macOS 26 runtime coverage or replace #13819’s pending real-app Gatekeeper verification. No app runtime code, runner allocation policy, or scheduled workflows change.

@coderabbitai

coderabbitai Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 6 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: e6f43202-f2c7-4852-a4e5-5f855c69cc00

📥 Commits

Reviewing files that changed from the base of the PR and between 70ad3a7 and 46b98fc.

📒 Files selected for processing (13)
  • .github/workflows/ci-guards.yml
  • .github/workflows/ci-macos.yml
  • scripts/ci/detect_ci_change_areas.py
  • scripts/ci/require_swift_test_execution.py
  • scripts/ci/run-swift-testing-suites.sh
  • scripts/ci/select_package_tests.py
  • scripts/ci/workflow_guard_groups.py
  • tests/test-execution.toml
  • tests/test_ci_notification_semantics.py
  • tests/test_ci_select_package_tests.py
  • tests/test_swift_package_execution.py
  • tests/test_swift_test_execution.py
  • tests/test_swift_testing_suite_timeout.py

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.

@github-actions

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@blacksmith-sh

This comment has been minimized.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Fixed the current-head CI fixture failure in 46b98fc. The notification workflow fixture copied the package selector but omitted the new execution verifier, so the real workflow step failed before its assertions. The fixture now includes the production helper.

Reproduced the exact missing-file failure locally, then all six notification workflow cases passed. Production behavior is unchanged by this follow-up. Hosted evidence: https://github.com/manaflow-ai/cmux/actions/runs/35805050027/job/107004073903

@teamleaderleo
teamleaderleo merged commit 4f44712 into main Sep 23, 2026
54 checks passed
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.

1 participant