Skip to content

fix(ci): scope release detection to target branch - #5065

Merged
DIYgod merged 1 commit into
devfrom
codex/fix-release-orchestrator
Aug 1, 2026
Merged

fix(ci): scope release detection to target branch#5065
DIYgod merged 1 commit into
devfrom
codex/fix-release-orchestrator

Conversation

@DIYgod

@DIYgod DIYgod commented Jul 31, 2026

Copy link
Copy Markdown
Member

Summary

  • scope release detection to the platform allowed by the target branch
  • prefer the release subject and only fall back to the PR title in standard GitHub merge commits
  • reject stale release markers elsewhere in merge bodies
  • fail visibly on parser errors and run release workflow regressions in CI

Root cause

PR #5061 merged into mobile-main with 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, selected desktop/v1.11.0, and skipped every mobile dispatch.

Verification

  • replayed desktop v1.11.0/v1.12.0 and mobile v0.5.6/v0.5.7 merge messages
  • pnpm exec vitest run .github/scripts/extract-release-info.test.ts .github/scripts/release-workflow-guards.test.ts
  • pnpm run typecheck
  • pnpm run test
  • npm exec turbo run format:check typecheck lint
  • npm exec turbo run test

Copilot AI review requested due to automatic review settings July 31, 2026 11:15

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.mjs to be ref-aware and to ignore stale body markers.
  • Remove continue-on-error from 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.

@DIYgod
DIYgod merged commit 3846c90 into dev Aug 1, 2026
4 checks passed
@DIYgod
DIYgod deleted the codex/fix-release-orchestrator branch August 1, 2026 15:14
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>
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