Skip to content

ci: test only changed packages and their dependents - #50

Merged
ProjectAJ14 merged 2 commits into
mainfrom
test-pipeline-per-package-tests
Sep 22, 2026
Merged

ProjectAJ14 merged 2 commits into
mainfrom
test-pipeline-per-package-tests

Conversation

@ProjectAJ14

Copy link
Copy Markdown
Contributor

Summary

  • New changes job selects packages via melos list --diff=<base> --include-dependents (PR: origin/main, push: previous commit).
  • quality passes the selection to tools/coverage.py --package ...; step skipped when nothing is selected.
  • macOS native-permissions job runs only when contact_permission is selected.
  • Shared inputs (root pubspec.yaml/pubspec.lock, analysis_options.yaml, root test/, tools/coverage.py, tools/tests/, root tools/*.dart, dart.yml) or an unresolvable base still run every package.
  • Lint/analyze still cover the whole workspace.
  • Documented in docs/testing.md.

Test plan

Selection logic simulated locally against real commits:

  • cli_core change → cli_core, nonstop_cli, 4 brick hooks packages
  • contact_permission change → plugin + example
  • root README.md only → nothing
  • pubspec.lock / zero SHA / bogus ref → all

Note: this PR edits dart.yml, so its own CI run tests everything.

🤖 Generated with Claude Code

ProjectAJ14 and others added 2 commits September 23, 2026 00:23
Select packages with melos list --diff --include-dependents and pass them
to tools/coverage.py. Gate the macOS native job on contact_permission.
Shared workspace inputs or an unknown base still run everything.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Each selected package gets its own job with fail-fast disabled, so
independent packages test concurrently instead of sequentially.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ProjectAJ14
ProjectAJ14 merged commit 282a3b8 into main Sep 22, 2026
29 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