Skip to content

fix: remove desktop changelog sync PR step#6743

Open
txhno wants to merge 2 commits intoBasedHardware:mainfrom
txhno:fix/remove-desktop-changelog-pr-step
Open

fix: remove desktop changelog sync PR step#6743
txhno wants to merge 2 commits intoBasedHardware:mainfrom
txhno:fix/remove-desktop-changelog-pr-step

Conversation

@txhno
Copy link
Copy Markdown

@txhno txhno commented Apr 17, 2026

Summary

  • remove the post-tag changelog sync PR step from desktop_auto_release.yml
  • drop the now-unused top-level pull-requests: write permission

Closes #6561.

Testing

  • python3 -c 'import yaml; yaml.safe_load(open(".github/workflows/desktop_auto_release.yml")); print("YAML OK")'
  • git diff --check

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Apr 17, 2026

Greptile Summary

This PR removes the post-tag changelog sync step from desktop_auto_release.yml and drops the now-unused top-level pull-requests: write permission. The permission removal and step deletion are correct, but the removal leaves desktop/CHANGELOG.json on main perpetually stale: since only the tag (not the branch) is pushed, every subsequent release will re-read the same unreleased entries from main and include them again, producing duplicate changelog entries across releases.

Confidence Score: 4/5

Safe to merge if the team accepts stale-changelog-on-main as a known trade-off; the permission change itself is correct, but duplicate changelog entries across releases are a real consequence.

The PR correctly removes the broken sync step and its permission. The one P1 finding is that desktop/CHANGELOG.json on main will never be updated after a release, causing repeated duplicate entries in every future release changelog. This is a present functional defect on the changed code path, not just a speculative risk.

.github/workflows/desktop_auto_release.yml — the tag-release job's push strategy leaves main's CHANGELOG.json stale indefinitely.

Important Files Changed

Filename Overview
.github/workflows/desktop_auto_release.yml Removes the post-tag changelog sync PR step and drops pull-requests: write; tag-release job now pushes the changelog-update commit only via the tag, leaving desktop/CHANGELOG.json on main perpetually stale.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Push to main] --> B[deploy-desktop-backend]
    B --> C[deploy-desktop-backend-prod]
    C --> D[tag-release]
    D --> E[Wait for previous release build]
    E --> F[Compute version and consolidate CHANGELOG locally]
    F --> G[Commit changelog update]
    G --> H[Create and push tag only]
    H --> I[Codemagic picks up tag and builds release]

    H -.->|Changelog commit NOT pushed to main| J[main branch still has old unreleased entries]
    J -.->|Next run reads same stale entries| F

    style J fill:#ffcccc,stroke:#cc0000
    style H fill:#ffffcc,stroke:#cccc00
Loading

Comments Outside Diff (1)

  1. .github/workflows/desktop_auto_release.yml, line 261-274 (link)

    P1 Changelog on main will be stale after every release

    The tag-release job commits the consolidated changelog and pushes only the tag (git push origin "$RELEASE_TAG"). The changelog-update commit is therefore only reachable from the tag — desktop/CHANGELOG.json on main is never updated. On the next triggered run, the same unreleased entries that were just consolidated into the current release are still present on main, so they will be re-included in the next release as well, causing duplicate changelog entries across releases.

    The removed sync-PR step was the mechanism that fixed this. Without a replacement, every release after the first will carry duplicate entries from all prior releases. Consider whether a simpler push-to-branch (e.g. git push origin HEAD:main with a [skip ci] commit message tailored to bypass the desktop/** path trigger) or a manual cleanup step would be acceptable here.

Reviews (1): Last reviewed commit: "fix: remove desktop changelog sync PR st..." | Re-trigger Greptile

@txhno
Copy link
Copy Markdown
Author

txhno commented Apr 17, 2026

Addressed the Greptile finding in 633fd764e.

The workflow now pushes the consolidated desktop/CHANGELOG.json commit back to main before creating the v*-macos tag, so the changelog state on main stays current without reviving the old sync-PR flow.

Rechecked with:

  • python3 -c 'import yaml; yaml.safe_load(open(".github/workflows/desktop_auto_release.yml")); print("YAML OK")'
  • git diff --check

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.

Remove changelog PR step from desktop_auto_release.yml — orphaned PRs pile up

2 participants