Revival generator: reusable workflow opens tracking issue + phase sub-issues in the module repo - #16
Open
tablackburn wants to merge 20 commits into
Open
tablackburn wants to merge 20 commits into
tablackburn wants to merge 20 commits into
Conversation
tablackburn
added a commit
to PowerShellOrg/BuildHelpers
that referenced
this pull request
Sep 17, 2026
There was a problem hiding this comment.
🟡 Changes recommended
The baseline falsely reports GitHub Actions when only the launcher exists, and partial failures cannot be recovered on rerun.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds a reusable workflow and generator that create module-local revival tracking issues and six phase sub-issues from Markdown templates.
Changes:
- Adds workflow inputs, permissions, and caller instructions.
- Generates baseline metrics, labels, assignments, types, and sub-issue relationships.
- Adds revival templates and label definitions.
File summaries
| File | Description |
|---|---|
.github/workflows/revival-start.yml |
Reusable revival workflow |
scripts/create-revival.js |
Issue generation and baseline logic |
docs/revival/tracking.md |
Tracking issue template |
docs/revival/phase-0.md |
Inventory phase |
docs/revival/phase-1.md |
Issue triage phase |
docs/revival/phase-2.md |
PR triage phase |
docs/revival/phase-3.md |
Build modernization phase |
docs/revival/phase-4.md |
First release phase |
docs/revival/phase-5.md |
Transition phase |
docs/revival/labels.yml |
Revival label manifest |
Review details
- Files reviewed: 10/10 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+34
to
+36
| for (const [p, name] of [['.github/workflows', 'GitHub Actions'], ['appveyor.yml', 'AppVeyor'], ['azure-pipelines.yml', 'Azure Pipelines'], ['.travis.yml', 'Travis']]) { | ||
| try { await github.rest.repos.getContent({ owner, repo, path: p }); ci.push(name); } catch (e) { if (e.status !== 404) throw e; } | ||
| } |
Comment on lines
+82
to
+86
| const existing = await findExisting(github, owner, repo, title); | ||
| if (existing) { | ||
| core.summary.addRaw(`Tracking issue already exists: [#${existing.number}](${existing.html_url}) (${existing.state}). Nothing created.`).write(); | ||
| core.setOutput('tracking_issue', existing.number); | ||
| return; |
…last-commit baseline
Author
|
Addressed both Copilot findings in the latest commit:
|
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.
What
A reusable workflow that starts a module revival: one
[REVIVAL] <Module>tracking issue plus six phase sub-issues, generated from markdown indocs/revival/and opened in the module repo, where contributors look. First consumer: BuildHelpers.This is the "make the template actually useful" work from the Discord thread. Instead of copying draft issues from a project template (whose checkboxes are not interactive), the checklist lives in git and the workflow opens real issues from it.
Files
.github/workflows/revival-start.ymlworkflow_call. Inputs:steward,module(defaults to the calling repo's name),source_ref. The caller snippet is in the file headerscripts/create-revival.jsactions/github-script. No dependencies, no secrets. Runs on the caller'sGITHUB_TOKENwithissues: write, same pattern aspowershell-ci.ymldocs/revival/tracking.mddocs/revival/phase-0.md…phase-5.mdtitle,labels,type,role. 47 checkboxes total, outcome-shapeddocs/revival/labels.ymltype:uses org Issue Types,priority:uses the org Issue FieldHow a Steward uses it
Drop a ten-line caller into the module repo (snippet in the workflow header), run it from the Actions tab with their login as
steward. Issues, types, assignment, and the baseline table appear in the module repo.Behaviour
Taskon every issue and assigns the Steward when given.revivallabel if missing.Verified on two scratch repos in the psake org: the reusable workflow in one, a caller in the other. Issues landed in the caller repo with type, assignee, baseline, and sub-issue rollup; a re-run created nothing.
Board
Per-revival project boards (as with #6 and #7). Add the tracking issue to the board; with "auto-add sub-issues" enabled on the project the six phases follow. Board's
Start Hereview should filter onlabel:"good first issue", the string GitHub's contributor discovery indexes; project fields are invisible to it.Follow-ups (separate PRs)
docs/revival-playbook.mdas the reference doc these issues link to: comment templates, PR decision tree, CI/release YAML, release steps, cadence. Its Phase 1 label table is superseded bylabels.yml.status-incoming, branch protection, and the caller workflow file).maintainer-onboarding.mdsays "open a tracking issue in the.githubrepo"; that line changes to the module repo.🤖 Generated with Claude Code
https://claude.ai/code/session_01StfaUPLixY3We2bfe1fiNE