chore: remove pr-merged-done workflow (superseded by Project built-in automation)#13
Conversation
… automation) GitHub Projects v2 has a native 'Pull request merged' automation (currently enabled on Octo Board) that already moves linked issues to Done when a PR is merged. The pr-merged-done.yml workflow was doing exactly the same thing via GraphQL, making it redundant. Removing to eliminate duplicate automation and reduce maintenance overhead.
yujiawei
left a comment
There was a problem hiding this comment.
Code Review — PR #13 (.github)
Summary
Pure deletion of the org-level reusable workflow pr-merged-done.yml (243 lines), justified by GitHub Projects v2 having a native "Pull request merged" automation that does the same job. The rationale in the PR body is sound — this workflow was duplicating built-in Project automation, so removing it reduces Actions minutes and maintenance surface with no functional loss.
The deleted code itself is clean (no leftover references in this repo), so there is no in-repo defect. The concern is cross-repo sequencing, detailed below.
Findings
P1 — Caller stubs in 5 sub-repos still pin @main and will fail once this lands
The PR description acknowledges that caller stubs in sub-repos will be removed "separately." However, the caller workflows trigger on pull_request_target: [closed] and call this reusable workflow by ref. A workflow_call to a deleted file at @main fails immediately with a "workflow file not found" error, surfacing as a red ❌ Actions run on every merged PR in the affected repos until their stubs are removed.
Repos that pin @main (will break the moment this PR merges):
Mininglamp-OSS/octo-web—.github/workflows/pr-merged-done.ymlMininglamp-OSS/octo-adapters—.github/workflows/pr-merged-done.ymlMininglamp-OSS/octo-admin—.github/workflows/pr-merged-done.ymlMininglamp-OSS/octo-smart-summary—.github/workflows/pr-merged-done.ymlMininglamp-OSS/octo-server—.github/workflows/pr-merged-done.yml
Each of these has a line like:
uses: Mininglamp-OSS/.github/.github/workflows/pr-merged-done.yml@mainThree other repos (octo-deployment, octo-lib, octo-matter) pin SHA 3d90d99236e0427a4fbe5b8f25b209ac0b799b3e, so they will keep resolving and keep duplicating the now-built-in Project automation — non-breaking but worth cleaning up in the same campaign.
Recommendation (pick one):
- Land caller-removal PRs first, then merge this one. Cleanest — no Actions runs are ever broken.
- Merge this PR together with the caller-removal PRs in a coordinated window. Acceptable if the brief broken interval (any PR merged between this landing and the caller PR landing in each repo) is tolerable.
- Pin callers to a pre-deletion SHA (the one before this PR's merge commit) before merging here. This keeps callers green forever, but they continue duplicating the native Projects automation until their stubs are also removed — defeats most of the value.
Option 1 is the safest sequence and matches the stated intent of the change.
P2 — Worth verifying the Projects v2 native automation is actually enabled
The PR rests on the claim that "GitHub Projects v2 already has a native 'Pull request merged' automation enabled on Octo Board." Worth a one-time sanity check before merge that:
- The automation is enabled (not just available) on Project #2.
- It targets the same
Status → Donefield/option that this workflow used (via theDONE_ALIASESset:done | 已完成 | 完了 | completed | 完成). Native automation only sets a status — confirm it maps to the same option humans expect. - It also moves the PR's own card to Done (the deleted workflow did this in its step 4). If the native automation only acts on linked issues and not on the PR item itself, there is a small behavioral regression for PRs that are themselves on the board.
If any of those don't hold, this PR introduces a silent functional gap.
Verdict
No defect in the deletion itself; the change reads cleanly and the rationale is correct. The only real risk is operational: 5 sub-repos pinned at @main will start emitting failed Actions runs on every PR merge until their caller stubs are removed. Recommending the caller-removal PRs land first (or simultaneously), and a one-time sanity check that native Projects automation is enabled and covers PR cards as well as issues.
…utomation) (#31) ## What Remove `.github/workflows/pr-merged-done.yml` caller stub. ## Why The org-level reusable workflow (`Mininglamp-OSS/.github/.github/workflows/pr-merged-done.yml`) is being retired. GitHub Projects v2 already has a native **'Pull request merged'** automation enabled on Octo Board that handles this automatically — no custom workflow needed. ## Related - Org-level removal: Mininglamp-OSS/.github#13
…utomation) (#51) ## What Remove `.github/workflows/pr-merged-done.yml` caller stub. ## Why The org-level reusable workflow (`Mininglamp-OSS/.github/.github/workflows/pr-merged-done.yml`) is being retired. GitHub Projects v2 already has a native **'Pull request merged'** automation enabled on Octo Board that handles this automatically — no custom workflow needed. ## Related - Org-level removal: Mininglamp-OSS/.github#13
…utomation) (#20) ## What Remove `.github/workflows/pr-merged-done.yml` caller stub. ## Why The org-level reusable workflow (`Mininglamp-OSS/.github/.github/workflows/pr-merged-done.yml`) is being retired. GitHub Projects v2 already has a native **'Pull request merged'** automation enabled on Octo Board that handles this automatically — no custom workflow needed. ## Related - Org-level removal: Mininglamp-OSS/.github#13
…utomation) (#13) ## What Remove `.github/workflows/pr-merged-done.yml` caller stub. ## Why The org-level reusable workflow (`Mininglamp-OSS/.github/.github/workflows/pr-merged-done.yml`) is being retired. GitHub Projects v2 already has a native **'Pull request merged'** automation enabled on Octo Board that handles this automatically — no custom workflow needed. ## Related - Org-level removal: Mininglamp-OSS/.github#13
…utomation) (#11) ## What Remove `.github/workflows/pr-merged-done.yml` caller stub. ## Why The org-level reusable workflow (`Mininglamp-OSS/.github/.github/workflows/pr-merged-done.yml`) is being retired. GitHub Projects v2 already has a native **'Pull request merged'** automation enabled on Octo Board that handles this automatically — no custom workflow needed. ## Related - Org-level removal: Mininglamp-OSS/.github#13
…utomation) (#10) ## What Remove `.github/workflows/pr-merged-done.yml` caller stub. ## Why The org-level reusable workflow (`Mininglamp-OSS/.github/.github/workflows/pr-merged-done.yml`) is being retired. GitHub Projects v2 already has a native **'Pull request merged'** automation enabled on Octo Board that handles this automatically — no custom workflow needed. ## Related - Org-level removal: Mininglamp-OSS/.github#13
…utomation) (#11) ## What Remove `.github/workflows/pr-merged-done.yml` caller stub. ## Why The org-level reusable workflow (`Mininglamp-OSS/.github/.github/workflows/pr-merged-done.yml`) is being retired. GitHub Projects v2 already has a native **'Pull request merged'** automation enabled on Octo Board that handles this automatically — no custom workflow needed. ## Related - Org-level removal: Mininglamp-OSS/.github#13
…utomation) (#10) ## What Remove `.github/workflows/pr-merged-done.yml` caller stub. ## Why The org-level reusable workflow (`Mininglamp-OSS/.github/.github/workflows/pr-merged-done.yml`) is being retired. GitHub Projects v2 already has a native **'Pull request merged'** automation enabled on Octo Board that handles this automatically — no custom workflow needed. ## Related - Org-level removal: Mininglamp-OSS/.github#13
Jerry-Xin
left a comment
There was a problem hiding this comment.
APPROVED ✅
Pure deletion of the 243-line pr-merged-done.yml reusable workflow, superseded by GitHub Projects v2 native automation. Clean removal, no residual references in this repo.
Cross-repo caller stubs — all clear. Verified all 8 sub-repos: pr-merged-done.yml is gone from octo-web, octo-server, octo-adapters, octo-admin, octo-smart-summary, octo-deployment, octo-lib, and octo-matter. yujiawei's P1 concern is fully resolved.
CI note: The add-to-project check failure is a pre-existing infra issue (missing github-token secret), unrelated to this PR.
One remaining item from yujiawei's P2 — worth a quick sanity check that the Projects v2 native "Pull request merged" automation on Octo Board is actually enabled and covers both linked issues and PR cards themselves (the deleted workflow did both). Not blocking, but don't want a silent gap.
Ship it.
What
Remove
.github/workflows/pr-merged-done.yml(org-level reusable workflow).Why
GitHub Projects v2 already has a native 'Pull request merged' automation enabled on Octo Board, which moves linked issues to Done when a PR is merged. This workflow was doing the exact same thing via GraphQL mutation — pure duplication.
Impact
Related