Skip to content

feat(node-release): sync stable back to develop/staging - #66

Merged
JSisques merged 1 commit into
mainfrom
fix/node-release-sync-back
Aug 31, 2026
Merged

feat(node-release): sync stable back to develop/staging#66
JSisques merged 1 commit into
mainfrom
fix/node-release-sync-back

Conversation

@JSisques

Copy link
Copy Markdown
Contributor

Summary

  • node-release.yml runs semantic-release independently on each of develop/staging/main (see nestjs-kit and react-kit, its only two consumers). Each branch gets its own version-bump commit (package.json/CHANGELOG.md) with no relation to the others, so develop/staging permanently diverge from main and every later promotion PR conflicts on those same lines.
  • docker-release.yml already solves this for the release-train flow via sync_develop_after_stable. This PR adds the equivalent to node-release.yml: opt-in sync_develop_after_stable and sync_staging_after_stable inputs (default false, so no behavior change for existing callers) that merge main back into develop/staging right after a stable release actually publishes.
  • Skips cleanly if the target branch doesn't exist, or if semantic-release didn't publish anything on that run (tracked via a before/after HEAD SHA check, since semantic-release exits 0 either way).

Test plan

  • YAML validated locally (yaml.safe_load)
  • nestjs-kit opts in via sync_develop_after_stable: true / sync_staging_after_stable: true in its ci.yml and confirms the next main release produces a chore(release): sync stable from main merge commit on develop/staging
  • react-kit can opt in the same way; not enabled by default so it's unaffected until it does

…ease

semantic-release runs independently per branch (develop/staging/main) via
this workflow, each committing its own version bump directly to that
branch. Without a sync step, develop/staging permanently diverge from
main's bump commits and every later promotion PR conflicts on
package.json/CHANGELOG.md. Adds opt-in sync_develop_after_stable and
sync_staging_after_stable inputs (default false) that merge main back
down after a stable release, mirroring the existing
sync_develop_after_stable step in docker-release.yml.
@JSisques
JSisques merged commit 520339e into main Aug 31, 2026
2 checks passed
@JSisques
JSisques deleted the fix/node-release-sync-back branch August 31, 2026 13:23
JSisques added a commit to sisques-labs/nestjs-kit that referenced this pull request Aug 31, 2026
#138)

semantic-release runs independently per branch here, each committing its
own version bump (package.json/CHANGELOG.md) with no relation to the
others, so develop/staging permanently diverged from main and every
later promotion PR conflicted on those files. node-release.yml now
supports merging main back down after a stable release
(sisques-labs/workflows#66); opt in via sync_develop_after_stable and
sync_staging_after_stable.
JSisques added a commit to sisques-labs/react-kit that referenced this pull request Aug 31, 2026
#4)

semantic-release runs independently per branch here, each committing its
own version bump (package.json/CHANGELOG.md) with no relation to the
others, so develop/staging permanently diverged from main and every
later promotion PR conflicted on those files. node-release.yml now
supports merging main back down after a stable release
(sisques-labs/workflows#66); opt in via sync_develop_after_stable and
sync_staging_after_stable.
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