[JUM-889][Chore] Promote changelog race fix to main - #520
Merged
Merged
Conversation
When sync-changelog lands the chore branch first, reuse its tip instead of failing createCommitOnBranch on a stale expectedHeadOid. Co-authored-by: Cursor <cursoragent@cursor.com>
## Summary - Fast-forward `dev` to current `main` tip (`v0.2.14` ancestry + changelog sync #518) — `dev` was 29 commits behind. - Tolerate changelog-sync race in `create-app-release-tag.js`: when `sync-changelog` lands the chore branch first, reuse its tip instead of failing `createCommitOnBranch` on a stale OID (app-release run 36175725849). ## Problem Statement - Related issue(s): JUM-889 - Related PR(s): #516, #517, #518 ## Project Tracking (Required) - Linear Project: `Jumentix` (`https://linear.app/jumentix`) - Focused epic link: https://linear.app/jumentix/project/epicrelease-git-tags-drive-changelog-github-releases-and-npm-publish-1488546fc45e - Epic milestone: First tagged release published — 2026-10-27 - Primary task nature: chore - Epic-delegated agent ID: cursor - Child task issue link: https://linear.app/jumentix/issue/JUM-889/governance-epic-record-first-real-tagreleasepublish-proven-end-to-end - Project Update: https://linear.app/jumentix/project/epicrelease-git-tags-drive-changelog-github-releases-and-npm-publish-1488546fc45e/activity#project-update-dcedc54f-1d24-4df1-a584-f6645fe2ab54 - Linear Project link(s): https://linear.app/jumentix/project/epicrelease-git-tags-drive-changelog-github-releases-and-npm-publish-1488546fc45e - Linear Issue link(s): https://linear.app/jumentix/issue/JUM-889/governance-epic-record-first-real-tagreleasepublish-proven-end-to-end - Linear Issue ID list (comma separated): JUM-889 - Item status at PR creation: reconciling main into dev after v0.2.14 - Target cycle (`Start date` -> `End date`): 2026-09-25 -> 2026-10-27 - Priority group for this PR (`P0` / `P1` / `P2`): P1 - [x] This PR contains tasks from only one priority group. ## Branch Promotion Path (Required) - Source branch: `codex/chore/JUM-889-reconcile-main-into-dev` - Target branch: `dev` - [x] The leading `JUM-XXXX` matches the single Linear Issue declared above. - [x] This task PR targets `dev`. - [ ] If this PR targets `main`, it is a release promotion sourced from `dev`, references the task PRs/issues already merged into `dev`, and introduces no unreviewed changes. - [x] This PR is not a direct task/topic branch promotion to `main`. ## Bidirectional Traceability (Required) - [x] PR description includes mapping of task -> commit(s). - Task -> commit(s) mapping: - `JUM-889`: `cb2f6c28` fix(release): tolerate changelog-sync race after tagging (+ fast-forward of main tip) ## Scope of Change ### Domain / Business Rules - None ### Application / Use Cases - None ### Adapters / Infrastructure - `ci-cd/create-app-release-tag.js` — race-tolerant changelog sync after tag - Branch reconciliation: `dev` ← `main` (`97977fce`) ### API / Contracts (OpenAPI, DTOs, handlers, controllers) - None ## Detailed Technical Changes 1. `dev` lagged `main` by 29 commits after release promotion #517 / changelog #518. 2. After tagging, app-release and sync-changelog both touch `chore/changelog-sync-*`; reuse tip OID on conflict so the workflow stays unattended. ## Test plan - [x] pre-commit `ci:gate:task` green locally - [ ] CCI branch-gate / required checks on this PR - [ ] After merge: `dev` tip matches `main` ancestry for v0.2.14; promote race-fix to `main` if needed Made with [Cursor](https://cursor.com)
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_dfd2a58e-b890-4183-b1b2-e8c609b7003a) |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #520 +/- ##
=======================================
Coverage 98.12% 98.12%
=======================================
Files 477 477
Lines 15224 15224
Branches 2051 2051
=======================================
Hits 14938 14938
Misses 220 220
Partials 66 66
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
10 tasks
web2solutions
added a commit
that referenced
this pull request
Sep 26, 2026
## Summary - `ensureBranchAtSha` force-updates an existing automation branch when its tip differs from the intended SHA (app-release run 36246791005: `STALE_DATA` on `chore/release-v0.2.15` vs main `23b897e4`). - Hardens changelog-sync race catch for GraphQL `STALE_DATA` wording. ## Problem Statement - Related issue(s): JUM-889 - Related PR(s): #520 ## Project Tracking (Required) - Linear Project: `Jumentix` (`https://linear.app/jumentix`) - Focused epic link: https://linear.app/jumentix/project/epicrelease-git-tags-drive-changelog-github-releases-and-npm-publish-1488546fc45e - Epic milestone: First tagged release published — 2026-10-27 - Primary task nature: fix - Epic-delegated agent ID: cursor - Child task issue link: https://linear.app/jumentix/issue/JUM-889/governance-epic-record-first-real-tagreleasepublish-proven-end-to-end - Project Update: https://linear.app/jumentix/project/epicrelease-git-tags-drive-changelog-github-releases-and-npm-publish-1488546fc45e/activity#project-update-ea1f9f87 - Linear Project link(s): https://linear.app/jumentix/project/epicrelease-git-tags-drive-changelog-github-releases-and-npm-publish-1488546fc45e - Linear Issue link(s): https://linear.app/jumentix/issue/JUM-889/governance-epic-record-first-real-tagreleasepublish-proven-end-to-end - Linear Issue ID list (comma separated): JUM-889 - Item status at PR creation: fixing stale release-branch tip for unattended app-release - Target cycle (`Start date` -> `End date`): 2026-09-25 -> 2026-10-27 - Priority group for this PR (`P0` / `P1` / `P2`): P0 - [x] This PR contains tasks from only one priority group. ## Branch Promotion Path (Required) - Source branch: `codex/fix/JUM-889-release-branch-force-reset` - Target branch: `dev` - [x] The leading `JUM-XXXX` matches the single Linear Issue declared above. - [x] This task PR targets `dev`. - [ ] If this PR targets `main`, it is a release promotion sourced from `dev`, references the task PRs/issues already merged into `dev`, and introduces no unreviewed changes. - [x] This PR is not a direct task/topic branch promotion to `main`. ## Bidirectional Traceability (Required) - [x] PR description includes mapping of task -> commit(s). - Task -> commit(s) mapping: - `JUM-889`: `5148a101` fix(release): force-reset stale chore/release branch tips ## Scope of Change ### Domain / Business Rules - None ### Application / Use Cases - None ### Adapters / Infrastructure - `ci-cd/create-app-release-tag.js` — force-reset mismatched automation branch tips - `ci-cd/test/release-tagging.test.ts` — unit coverage for create / match / force paths ### API / Contracts (OpenAPI, DTOs, handlers, controllers) - None ## Detailed Technical Changes 1. Existing `chore/release-v*` tips left from failed bumps caused `createCommitOnBranch` STALE_DATA. 2. `ensureBranchAtSha` now PATCHes with `force=true` when tip ≠ target SHA. ## Test plan - [x] `jest ci-cd/test/release-tagging.test.ts` (15 tests) green locally - [x] pre-commit `ci:gate:task` green - [ ] CCI required checks on this PR - [ ] After promote to main: app-release unattended for next releasable tip Made with [Cursor](https://cursor.com)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
dev→mainafter [JUM-889][Chore] Reconcile main into dev + changelog race fix #519: changelog-sync race tolerance increate-app-release-tag.js(cb2f6c28) so unattended app-release stays green when sync-changelog wins the OID race.Problem Statement
Project Tracking (Required)
Jumentix(https://linear.app/jumentix)Start date->End date): 2026-09-25 -> 2026-10-27P0/P1/P2): P1Branch Promotion Path (Required)
devmainJUM-XXXXmatches the single Linear Issue declared above.dev.main, it is a release promotion sourced fromdev, references the task PRs/issues already merged intodev, and introduces no unreviewed changes.main.Bidirectional Traceability (Required)
JUM-889:cb2f6c28(via [JUM-889][Chore] Reconcile main into dev + changelog race fix #519 mergef32b4d35)Scope of Change
Domain / Business Rules
Application / Use Cases
Adapters / Infrastructure
ci-cd/create-app-release-tag.js— race-tolerant changelog sync after tag (already ondevvia [JUM-889][Chore] Reconcile main into dev + changelog race fix #519)API / Contracts (OpenAPI, DTOs, handlers, controllers)
Detailed Technical Changes
devtipf32b4d35ontomain97977fce.Test plan
maincontainscb2f6c28; app-release staysnoop/no-releasable-commitsMade with Cursor