-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Description
The smoke-test dispatch workflow (repository-dispatch.yml) mismanages CHANGELOG.md in the downstream repo (vig-os/devcontainer-smoke-test). After a full release cycle, main's CHANGELOG.md does not match the workspace scaffold shipped with the image (assets/workspace/CHANGELOG.md).
Two problems:
-
Wrong source file: The "Sync upstream CHANGELOG onto release branch" step downloads
vig-os/devcontainer/${TAG}/CHANGELOG.md(the upstream project changelog with real version entries) instead ofassets/workspace/CHANGELOG.md(the empty scaffold). This overwrites the release branch with content that has no relation to the downstream repo. -
No post-release reset: After
prepare-releaseandreleaseworkflows process their fake## Unreleased/## [X.Y.Z] - TBDlifecycle, nothing resetsCHANGELOG.mdonmainback to the scaffold. The fake changelog entries accumulate onmainacross release cycles.
Steps to Reproduce
- Dispatch
smoke-test-triggerwith an RC tag (e.g.,0.3.1-rc9) - Observe the deploy step creates a stub
CHANGELOG.mdwith "Deploy devcontainer 0.3.1-rc9" prepare-releasefreezes it to## [0.3.1] - TBD- The sync step overwrites with the upstream project's CHANGELOG (wrong file)
- After the release PR merges,
main'sCHANGELOG.mdcontains upstream version entries that don't belong in the downstream repo
Expected Behavior
After the full release cycle completes, CHANGELOG.md on main in the downstream repo should be identical to the workspace scaffold (assets/workspace/CHANGELOG.md) -- just ## Unreleased with empty category headers.
Actual Behavior
main's CHANGELOG.md contains either:
- The upstream project's full changelog (if the sync step succeeded), or
- Leftover fake entries from
prepare-release(e.g.,## [0.3.1] - TBDwith "Deploy devcontainer 0.3.1-rc9")
Neither matches the scaffold. Current state of main in the downstream repo is an empty scaffold only because no release has fully completed yet.
Environment
- Template:
assets/smoke-test/.github/workflows/repository-dispatch.yml(lines 504-537) - Scaffold:
assets/workspace/CHANGELOG.md - Downstream repo:
vig-os/devcontainer-smoke-test
Additional Context
The CHANGELOG sync step is also a source of merge conflicts between the release branch and main, contributing to #402. The prepare-release and release-core workflows require a valid ## [X.Y.Z] - TBD entry to function, so the fake CHANGELOG cannot simply be replaced before those workflows run.
Changelog Category
Fixed
- TDD compliance (see
.cursor/rules/tdd.mdc)