Skip to content

Count only source files in release-plan change detection - #21733

Closed
NullVoxPopuli-ai-agent wants to merge 4 commits into
emberjs:mainfrom
NullVoxPopuli-ai-agent:nvp/release-plan-ignore-tests
Closed

NullVoxPopuli-ai-agent wants to merge 4 commits into
emberjs:mainfrom
NullVoxPopuli-ai-agent:nvp/release-plan-ignore-tests

Conversation

@NullVoxPopuli-ai-agent

@NullVoxPopuli-ai-agent NullVoxPopuli-ai-agent commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Adds a release-plan files config to the two packages that release-plan publishes. Each config lists the files that the build of the package reads:

Package files
@glimmer/syntax ["index.js", "index.ts", "lib/**"]
@glimmer/component ["index.js", "index.ts", "src/**", "addon-main.cjs"]

Only changes to these files, and to the package.json of the package, count. So a PR that changes only tests, config files, or docs in a package folder does not cause a release, and it does not need a label.

A root index.js or index.ts is the entry of a package. Today only @glimmer/syntax has one, index.ts, which is its rollup entry. addon-main.cjs is the v1 addon shim that @glimmer/component publishes.

Git globs have no brace expansion, so {src,lib}/** and index.{js,ts} match nothing. Each path needs its own glob.

Needs a new release-plan version

The files option is in NullVoxPopuli/release-plan#13, which merged after 0.21.0. Until a new version is published and this repo updates to it, release-plan ignores the key, and nothing changes.

Local check

I ran gather-changes with a build of the fork's next branch. Compared with 0.21.0, the only PR that dropped out is #21317, which changed only files in packages/@glimmer/syntax/test/.

🤖 Generated with Claude Code

NullVoxPopuli and others added 2 commits October 16, 2026 23:47
A PR that changes only packages/@glimmer/syntax/test does not change
the published package, so it must not cause a release or need a
label. The release-plan "files" option leaves the test folder out of
the git history that release-plan reads for this package.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
tsconfig.json in @glimmer/component and .npmignore in @glimmer/syntax
are tooling config. A PR that changes only one of them must not cause
a release or need a label.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@NullVoxPopuli-ai-agent NullVoxPopuli-ai-agent changed the title Leave @glimmer/syntax tests out of release-plan change detection Leave tests and config files out of release-plan change detection Oct 17, 2026
Each package now names the files that its build reads: index.ts and
lib/** for @glimmer/syntax, src/** and addon-main.cjs for
@glimmer/component. A new test or config file then does not need a
new exclude. release-plan always counts the package.json too.

Git globs have no brace expansion, so the folders are separate globs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@NullVoxPopuli-ai-agent NullVoxPopuli-ai-agent changed the title Leave tests and config files out of release-plan change detection Count only source files in release-plan change detection Oct 17, 2026
A root index file is the entry of a package, whether the package uses
one today or adds one later.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@NullVoxPopuli-ai-agent

Copy link
Copy Markdown
Contributor Author

Replaced by #21734, which combines this change with the release-plan 0.22.0 upgrade.

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