Add changelog fragment workflow to eliminate version/changelog merge conflicts#138
Open
mapgie wants to merge 2 commits into
Open
Add changelog fragment workflow to eliminate version/changelog merge conflicts#138mapgie wants to merge 2 commits into
mapgie wants to merge 2 commits into
Conversation
…conflicts Each PR now adds a changelog/unreleased/<slug>.json fragment instead of editing CHANGELOG.md and bumping versionCode/versionName directly, which was the recurring source of merge conflicts. consolidate_changelog.py rolls all pending fragments into a single CHANGELOG.md entry and version bump via the new "Prepare release" workflow, which opens a PR for review.
…nstruction Follow-up to the changelog fragment workflow: - New publish-release.yml: merging a Release PR to main tags vX.Y.Z and publishes the APK automatically. The tag push is the atomic duplicate gate, replacing the late 'Check version is new' step. - build.yml is PR validation only: workflow_dispatch publish path removed. - changelog-check.yml: exempt release/* PRs (they delete fragments, add none) and block versionCode/versionName edits in all other PRs, making the release automation the sole writer of the version. - prepare-release.yml: concurrency group, fail fast if the computed version already has a tag, optional RELEASE_PR_TOKEN so CI runs on the bot-created Release PR, PR body notes that merging publishes. - check_changelog_fragment.py: clean errors for malformed/non-object JSON; consolidate_changelog.py re-validates fragments before consuming them (errors to stderr, keeping stdout parseable by the workflow). - Docs updated in CLAUDE.md, CHANGELOG.md, changelog/unreleased/README.md; transferable lessons added to LESSONS.md. https://claude.ai/code/session_01VwYiciFBNBnBEUwKPtMLZn
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.
Each PR now adds a changelog/unreleased/.json fragment instead of
editing CHANGELOG.md and bumping versionCode/versionName directly, which was
the recurring source of merge conflicts. consolidate_changelog.py rolls all
pending fragments into a single CHANGELOG.md entry and version bump via the
new "Prepare release" workflow, which opens a PR for review.