hotfix(ci): make release + UAT manual-only (no auto-run on merge/push)#504
Conversation
Merging to main was auto-cutting a production release (release.yml) and pushing to dev was auto-building/publishing a beta (uat-dev.yml). Both should be run by hand. Drop the push triggers; keep workflow_dispatch so they can still be launched manually from the Actions tab (and scripts/release.sh / scripts/uat.sh remain the local paths). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughTwo GitHub Actions workflow files were modified to remove automatic push-based triggers. The Android release workflow (release.yml) and the UAT/dev workflow (uat-dev.yml) now run only via manual workflow_dispatch, preventing automatic publishing when code is pushed to main or dev. ChangesWorkflow trigger changes
Estimated code review effort: 1 (Trivial) | ~3 minutes ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
PR Summary by QodoHotfix CI: make release and UAT workflows manual-only (remove push triggers)
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
Code Review by Qodo
Context used✅ Compliance rules (platform):
36 rules 1. Em dash in release.yml comment
|
| push: | ||
| branches: [main] # every merge to main cuts a release | ||
| workflow_dispatch: {} # manual fallback | ||
| # Manual only. Releases are cut by hand (scripts/release.sh locally, or this dispatch) — |
There was a problem hiding this comment.
1. Em dash in release.yml comment 📘 Rule violation ✧ Quality
Workflow comments include a Unicode em dash (—), which is disallowed in user-facing/documentation text per the checklist. This can cause inconsistent typography and violates the hyphen-only requirement.
Agent Prompt
## Issue description
Workflow comments were updated to include a Unicode em dash (`—`), which is disallowed in user-facing/documentation text.
## Issue Context
PR Compliance ID 1570610 forbids em dashes in user-facing/documentation text and requires ASCII hyphens (`-`) instead to ensure consistent typography.
## Fix Focus Areas
- .github/workflows/release.yml[6-6]
- .github/workflows/uat-dev.yml[22-22]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
| on: | ||
| push: | ||
| branches: [dev] | ||
| # Manual only. Betas are cut by hand (scripts/uat.sh locally, or this dispatch) — pushing | ||
| # to dev must NOT auto-build/publish a beta. | ||
| workflow_dispatch: |
There was a problem hiding this comment.
2. Uat runs on wrong ref 🐞 Bug ☼ Reliability
With push-based restrictions removed, both uat-dev.yml and release.yml are now manual-only (workflow_dispatch) and can be run against any selected ref, yet they still reattach/operate on the triggering branch and perform side effects like version bumps/commits/tags, pushes, and publishing (beta via scripts/uat.sh with store credentials and release via GitHub Release and possible Play upload). Dispatching either workflow from the wrong branch/tag can mutate the wrong branch history and publish unintended beta or release artifacts from unintended code.
Agent Prompt
## Issue description
`uat-dev.yml` and `release.yml` are now manual-only (`workflow_dispatch`), which allows operators to run them against arbitrary branches/tags via the GitHub **Run workflow** UI. Both workflows still perform mutable and/or publishing side effects (reattach/push to the selected ref, beta publish via `scripts/uat.sh` with store credentials, and release side effects like version bump commit + `git push`, GitHub Release creation, and optional Play upload), so dispatching from the wrong ref can mutate the wrong branch and publish unintended beta/release artifacts.
## Issue Context
- `workflow_dispatch` permits selecting a branch/tag at run time; with prior `push.branches` restrictions removed, there is no inherent enforcement that UAT runs only from `dev` or releases only from `main`.
- `uat-dev.yml` includes explicit git operations to re-attach to `$GITHUB_REF_NAME` and set upstream, making the selected dispatch ref the push target.
## Fix Focus Areas
- .github/workflows/uat-dev.yml[21-31]
- .github/workflows/uat-dev.yml[85-93]
- .github/workflows/uat-dev.yml[93-117]
- .github/workflows/release.yml[5-9]
- .github/workflows/release.yml[24-29]
- .github/workflows/release.yml[63-82]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
What
Removes the automatic
pushtriggers from both release workflows:main(was auto-cutting a production release on every merge).dev(was auto-building/publishing a beta).Both keep
workflow_dispatch, so they can still be launched by hand from the Actions tab. Local scripts (scripts/release.sh,scripts/uat.sh) remain the primary paths.Why
Merging #503 to main auto-fired the production Android release (failed run). Releases and betas should be cut manually, not on merge.
Scope
Trigger-only change; no build/logic changes. Nothing auto-publishes to the stores anymore.
Summary by CodeRabbit