Skip to content

chore: rebuild dist with annotated tags on by default - #2

Merged
kojiromike merged 2 commits into
rebase/v5from
kojiromike/lockfile-annotated-tag-default
Sep 1, 2026
Merged

kojiromike merged 2 commits into
rebase/v5from
kojiromike/lockfile-annotated-tag-default

Conversation

@kojiromike

@kojiromike kojiromike commented Sep 1, 2026

Copy link
Copy Markdown

package.json pins the release-please library by branch (github:openCoreEMR/release-please#feat/annotated-tags-and-preview), but package-lock.json pins a commit and every build path uses npm ci. A branch pin therefore behaves as a SHA pin, and merging openCoreEMR/release-please#4 (annotated tags on by default) changed nothing for consumers of this action. This moves the lockfile and rebuilds dist/.

resolved release-please commit
before 69f51b77d7bb428b4e9c10ec20dc94f64d6dbf23 (v17.6.0)
after d65236342a0adb60514e115a79ef8cea77e760d5 (v17.11.2) — current tip of feat/annotated-tags-and-preview

What this ships

  • mergeReleaserConfig() defaults annotatedTag to true. Release tags become annotated tag objects instead of lightweight refs. Explicit "annotated-tag": false still opts out.
  • annotated-tag added to the manifest schema's top-level properties allowlist.
  • The upstream 17.6.0 → 17.11.2 range the library branch rebased onto.

Proof the built artifact carries it

dist/index.js before:

annotatedTag: (_s = pathConfig.annotatedTag) !== null && _s !== void 0 ? _s : defaultConfig.annotatedTag

dist/index.js after:

annotatedTag: (_t = (_s = pathConfig.annotatedTag) !== null && _s !== void 0 ? _s : defaultConfig.annotatedTag) !== null && _t !== void 0 ? _t : true

and the schema allowlist in the bundle now contains "annotated-tag":true.

Second commit: Node floor

The first push failed CI on test (20) with EBADENGINE ... release-please@17.11.2 ... Required: {"node":">=22.0.0"}. That is not flaky — googleapis/release-please raised its own engines.node from >=20.0.0 to >=22.0.0 in v17.10.0, and the fork inherited it through the upstream merge. ci.yaml's npm install --production --engine-strict step exists precisely to catch a dependency that outruns our engines field, and it did.

So the second commit aligns this action's engines.node to >=22.0.0 and moves the CI matrix from [20, 24] to [22, 24]. Runtime is unaffected — action.yml already declares using: node24, and GitHub has deprecated the node20 action runtime. Flagging it because it is a scope addition beyond the lockfile move, and it is a breaking change to the declared support floor.

Gate

npm run compile and npm run build both clean locally. npm test does not run on Node 26 locally (yargs 16 CJS/ESM interop); the identical failure reproduces on unmodified rebase/v5, so it is environmental. CI covers Node 22 and 24.

Targets rebase/v5, not mainmain is stale at 4.4.0 and v5.0.0-oce.2 is a commit on rebase/v5.

Re-resolve the release-please git dependency from 69f51b77 (v17.6.0) to
the current tip of feat/annotated-tags-and-preview, d6523634 (v17.11.2).
package.json pins the library by branch, but package-lock.json pins a
commit and every build path uses npm ci, so merging
openCoreEMR/release-please#4 changed nothing for consumers until the
lockfile moved.

This picks up the annotated-tag default flip: mergeReleaserConfig now
resolves annotatedTag to true when neither the path config nor the
default config sets it, so release tags are annotated tag objects rather
than lightweight refs. Explicit "annotated-tag": false still opts out.
Also adds annotated-tag to the manifest schema's top-level properties
allowlist, and picks up the upstream 17.6.0-17.11.2 range the branch
rebased onto.

Gate: dist/index.js now contains

  annotatedTag: (_t = (_s = pathConfig.annotatedTag) !== null &&
    _s !== void 0 ? _s : defaultConfig.annotatedTag) !== null &&
    _t !== void 0 ? _t : true

where before it ended at defaultConfig.annotatedTag with no fallback,
and the schema properties allowlist now carries "annotated-tag":true.
npm run compile and npm run build both clean. npm test does not run on
Node 26 locally (yargs 16 CJS/ESM interop); the identical failure
reproduces on unmodified rebase/v5, so it is environmental, and CI
covers Node 20 and 24.

Assisted-by: Claude Code
googleapis/release-please raised its own engines.node floor from >=20.0.0
to >=22.0.0 in v17.10.0, and the fork picked that up through the upstream
merge on feat/annotated-tags-and-preview. This action's engines field
still claimed >=20.0.0, so ci.yaml's deliberate
`npm install --production --engine-strict` guard failed on the Node 20
matrix leg with EBADENGINE — which is exactly what that step exists to
detect.

Align engines with the dependency and move the CI matrix from [20, 24] to
[22, 24], keeping a lower-bound leg. Runtime is unaffected: action.yml
already declares `using: node24`, and GitHub has deprecated the node20
action runtime.

Assisted-by: Claude Code
@kojiromike
kojiromike merged commit ccd6eb4 into rebase/v5 Sep 1, 2026
6 checks passed
@kojiromike
kojiromike deleted the kojiromike/lockfile-annotated-tag-default branch September 1, 2026 21:43
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