fix(ci): scope release detection to target branch - #5065
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR hardens the GitHub Actions release-tagging flow by making release detection branch-scoped (desktop on main, mobile on mobile-main), prioritizing the commit subject (and only falling back to the PR title for standard GitHub merge commits), and preventing stale release markers in merge bodies from re-triggering the wrong platform鈥檚 release automation.
Changes:
- Tighten release parsing in
.github/scripts/extract-release-info.mjsto be ref-aware and to ignore stale body markers. - Remove
continue-on-errorfrom the tag workflow so parser failures fail the job visibly. - Add targeted Vitest coverage for the release parser and run these tests in CI (
lint.yml).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
.github/workflows/tag.yml |
Makes release-info extraction fail the workflow on real errors by removing continue-on-error. |
.github/workflows/lint.yml |
Adds a CI step to run the release-workflow-related Vitest tests to prevent regressions. |
.github/scripts/extract-release-info.test.ts |
Introduces unit/integration-style tests that cover branch scoping, merge commit fallback behavior, and stale marker rejection. |
.github/scripts/extract-release-info.mjs |
Updates the release detection logic to prefer subject/PR-title fallback, scope platform by GITHUB_REF_NAME, and avoid scanning arbitrary body lines. |
LHQ-MO
pushed a commit
to lhq1412/Folo
that referenced
this pull request
Aug 3, 2026
* fix(desktop): use js-yaml ESM exports for Windows metadata * docs(desktop): prepare release inputs * docs(mobile): prepare release metadata * release(desktop): release v1.12.0 * docs(desktop): restore mobile release inputs * release(mobile): release v0.5.7 * docs(mobile): restore desktop release inputs * release(mobile): Release v0.5.7 * fix(mobile): comply with Android media permissions policy * docs(mobile): prepare release metadata * release(mobile): release v0.5.8 * fix(ci): scope release detection to target branch (RSSNext#5065) * ci: slim workflows for web-mobile-pwa focus Remove native desktop/mobile build, release orchestration, and GitHub Actions Cloudflare deploy workflows. Deployment is handled by Cloudflare Workers Builds on the web-mobile-pwa branch. - Extend lint.yml to run on web-mobile-pwa and build mobile web assets - Remove duplicate build-web.yml workflow - Delete release-only scripts and unused GitHub Actions - Point Dependabot at web-mobile-pwa --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: DIYgod <i@diygod.me> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sebastion <sebastion@sebastion.dev> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: DIYgod <i@diygod.cc> Co-authored-by: Cursor Agent <cursoragent@cursor.com>
lhq1412
added a commit
to lhq1412/Folo
that referenced
this pull request
Aug 3, 2026
* fix(desktop): use js-yaml ESM exports for Windows metadata * docs(desktop): prepare release inputs * docs(mobile): prepare release metadata * release(desktop): release v1.12.0 * docs(desktop): restore mobile release inputs * release(mobile): release v0.5.7 * docs(mobile): restore desktop release inputs * release(mobile): Release v0.5.7 * fix(mobile): comply with Android media permissions policy * docs(mobile): prepare release metadata * release(mobile): release v0.5.8 * fix(ci): scope release detection to target branch (RSSNext#5065) * ci: slim workflows for web-mobile-pwa focus Remove native desktop/mobile build, release orchestration, and GitHub Actions Cloudflare deploy workflows. Deployment is handled by Cloudflare Workers Builds on the web-mobile-pwa branch. - Extend lint.yml to run on web-mobile-pwa and build mobile web assets - Remove duplicate build-web.yml workflow - Delete release-only scripts and unused GitHub Actions - Point Dependabot at web-mobile-pwa * ci: disable issue community automation workflows Remove translator, similar-issues, and issue-labeler workflows. Keep lint.yml and pr-title-check.yml as the only active checks. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: DIYgod <i@diygod.me> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sebastion <sebastion@sebastion.dev> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: DIYgod <i@diygod.cc> Co-authored-by: Cursor Agent <cursoragent@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
Root cause
PR #5061 merged into
mobile-mainwith a valid mobile release subject, but its merge body also listed an older desktop release commit. The parser checked desktop first across the full message, selecteddesktop/v1.11.0, and skipped every mobile dispatch.Verification
pnpm exec vitest run .github/scripts/extract-release-info.test.ts .github/scripts/release-workflow-guards.test.tspnpm run typecheckpnpm run testnpm exec turbo run format:check typecheck lintnpm exec turbo run test