ci(ci): update Close Topics workflow to handle Review issues and clarify descriptions

This commit is contained in:
Prad Nukala committed 2026-09-30 16:23:52 -04:00
1 parent b2dffa4615
commit 1d77c5a8b5
2 files changed
+17 -9

No files matched your search

+6 -3
View File
@@ -66,9 +66,12 @@ jobs:
# tagged at the instant the last core problem closed. It reads the same rule
# close-topics uses (apps/cli/topics.ts) straight off the sub-issues, so the
# push that finishes a topic releases it in this run — no waiting for Close
# Topics, which chains after this workflow. Reconciling: a run releases
# every finished topic still missing one, so a manual dispatch backfills and
# a problem closed by hand in the UI is picked up by the next run.
# Topics, which chains after this workflow. A problem re-parented into a
# `Review <N> — <Phase>` issue still belongs to its topic (recovered from
# its parent_issue_removed event), so moving it never rewrites a release.
# Reconciling: a run releases every finished topic still missing one, so a
# manual dispatch backfills and a problem closed by hand in the UI is picked
# up by the next run. Closing a finished Review issue is Close Topics' job.
release:
needs: close
# Like close-topics: a partially failed close still closed some issues,
+11 -6
View File
@@ -1,9 +1,14 @@
name: Close Topics
# No D1 push here, unlike Close Solved: D1 stores no topic completion column.
# Phase progress, the gate pools and the charts all derive from the problem
# rows, which close-solved already logs — a topic is finished exactly when its
# core problems are, so there is nothing left to reconcile.
# Closes finished topics AND finished `Review <N> — <Phase>` issues (every
# sub-issue closed). Problems moved from a topic into a Review issue still
# count toward that topic (apps/cli/topics.ts).
#
# No D1 push here, unlike Close Solved: D1 stores no topic or review
# completion column. Phase progress, the gate pools and the charts all derive
# from the problem rows, which close-solved already logs — a topic or review
# is finished exactly when its problems are, so there is nothing left to
# reconcile.
on:
# Close Solved closes problem issues with GITHUB_TOKEN, and token-driven
@@ -19,7 +24,7 @@ on:
workflow_dispatch:
inputs:
dry_run:
description: Report finished topics without closing anything
description: Report finished topics and reviews without closing anything
type: boolean
default: false
@@ -34,7 +39,7 @@ concurrency:
jobs:
close:
# The `issues` trigger fires for every issue in the repo; only closing a
# problem sub-issue can ever complete a topic's core set.
# problem sub-issue can ever complete a topic's core set or a review.
if: github.event_name != 'issues' || contains(github.event.issue.labels.*.name, 'problem')
runs-on: ubuntu-latest
steps: