Skip to content

Keep the GitHub release text and name the released APK cleanly - #113

Merged
oers merged 1 commit into
developmentfrom
claude/release-workflow
Sep 24, 2026
Merged

oers merged 1 commit into
developmentfrom
claude/release-workflow

Conversation

@oers

@oers oers commented Sep 24, 2026

Copy link
Copy Markdown
Owner

Two things from the 2.0.0 release. Only .github/workflows/release.yml changes.

Release text was overwritten

svenstaro/upload-release-action ran with overwrite: true and a fixed body. It replaced the text of the hand-written "Analyze" release with "This is my release text".

That step is now a short gh CLI script. gh is preinstalled on the runners, and the job gets permissions: contents: write.

  • Existing release: A release written by hand keeps its title and text. The English Play Store notes (whatsnew/whatsnew-en-US) are appended below. They are only added once, so a re-run doesn't repeat them.
  • Existing but empty release: It gets the notes as its text.
  • No release yet (tag pushed with git push): A release is created, titled with the tag, with the notes as its text.

APK was named ...-unsigned-signed.apk

Gradle names the unsigned release APK reversatile-release-<version>-unsigned.apk, and the signing action appends -signed to that. A new step renames the signed APK to reversatile-<version>.apk before it goes to Play and to the GitHub release.

Verification

  • I ran both scripts locally, taken straight from the YAML, against a stand-in gh. Cases covered: an existing release with text, an existing empty one, a missing one, and a second run of each (no duplicate notes).
  • The workflow file parses as valid YAML.
  • The real run only happens on the next tag.

🤖 Generated with Claude Code

https://claude.ai/code/session_01V5G4cWSLBkiNNK4KC3zvXM


Generated by Claude Code

- The upload step (svenstaro/upload-release-action with a fixed body and
  overwrite) replaced whatever was written in the GitHub release with
  "This is my release text". It is now a short gh CLI script: a release
  written by hand keeps its title and text, and the English Play Store
  notes (whatsnew/whatsnew-en-US) are added below them - once, so a re-run
  doesn't repeat them. A tag pushed without a release gets one, titled
  with the tag, with the notes as its text. gh needs contents: write.
- The signing step appends "-signed" to Gradle's
  "reversatile-release-<version>-unsigned.apk", which made
  "...-unsigned-signed.apk". The signed APK is renamed to
  "reversatile-<version>.apk" before it goes to Play and the release.

Both scripts were run locally against a stand-in gh for an existing
release with text, an empty one, a missing one and a second run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V5G4cWSLBkiNNK4KC3zvXM
@oers
oers merged commit b28f0da into development Sep 24, 2026
3 checks passed
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.

2 participants