ci: pin .github reusable workflows to @v1#80
Conversation
yujiawei
left a comment
There was a problem hiding this comment.
Code Review — PR #80 (octo-admin)
Summary
Mechanical CI hardening: repoints 16 reusable-workflow caller refs from the mutable @main branch to the governed rolling @v1 tag in Mininglamp-OSS/.github, and migrates the issue-notification caller from the legacy octo-issue-feed.yml to the canonical octo-issue-notify.yml@v1. 17 additions / 17 deletions, .github/workflows/** only. No application code touched.
Verification
- ✅
v1tag exists upstream —Mininglamp-OSS/.githubhas bothrefs/tags/v1(rolling) andrefs/tags/v1.0.0. - ✅ All referenced reusable workflows resolve at
@v1— every one of the 16 caller targets is present in.github/workflows@v1(auto-add-to-project, reusable-check-sprint, reusable-codeql, reusable-docker-lint, reusable-history-check, issue-welcome, reusable-pr-labeler, octo-ci-status, octo-issue-notify, octo-pr-result-notify, octo-pr-review-feed, reusable-pr-contributor-welcome, reusable-release-drafter, reusable-release-publish, reusable-stale, workflow-sanity). - ✅ Rename contract is compatible —
octo-issue-feed.yml(.github/workflows/octo-issue-feed.yml, the caller) passesrepo_name, issue_number, issue_title, issue_url, issue_author, event_action+ secretOCTO_BOT_TOKEN. The renamed targetocto-issue-notify.yml@v1declares exactly these as required inputs/secret; remaining inputs (api_base_url,feed_group_id) and theTRIAGE_WEBHOOK_URLsecret are optional with defaults. No missing-input failure. - ✅ No leftover
@mainrefs — scanned every workflow on head SHA053b092; zero remainingMininglamp-OSS/.github/...@mainreferences. Migration is complete and consistent.
Findings
No P0/P1 issues.
Nit (non-blocking)
- Event-policy narrowing on the issue feed. The renamed
octo-issue-notify.yml@v1enforces anopened-only guard centrally (if action != 'opened': skip), narrowing the prior[opened, reopened]behavior. This is documented as intentional upstream. However, the callerocto-issue-feed.ymlstill subscribes toon: issues: types: [opened, reopened](.github/workflows/octo-issue-feed.yml:4). Reopen events will now invoke the reusable workflow only to be silently skipped — harmless, but thereopenedtrigger is now dead weight and could be trimmed for clarity in a follow-up.
Informational
- Pinning to the rolling
@v1tag (mutable) rather than an immutable commit SHA is a deliberate trade-off: it trusts the upstream governance to keepv1non-breaking, in exchange for automatic patch uptake without per-repo bumps. This matches the stated org standard for this migration, so it is the right call here; flagging only so the supply-chain assumption is explicit.
Verdict
Mechanical, low-risk, and fully verified against the upstream @v1 contract. The single behavior change (issue-feed opened-only) is intended and documented. Approving.
Jerry-Xin
left a comment
There was a problem hiding this comment.
This PR is in scope: it updates this repository’s GitHub Actions automation to use the governed shared workflow version line.
💬 Non-blocking
- 🔵 Suggestion:
.github/workflows/octo-issue-feed.yml:1and the filename still use “Issue Feed” while the reusable workflow now points toocto-issue-notify.yml@v1at.github/workflows/octo-issue-feed.yml:11. Consider renaming the local wrapper in a follow-up for consistency, if downstream references allow it. - 🔵 Suggestion: The PR title says “pin”, but
@v1is a rolling major-version ref rather than an immutable SHA. That matches the PR description, so this is not a blocker.
✅ Highlights
- Verified all changed
Mininglamp-OSS/.githubreusable workflow references resolve at@v1. - Caller inputs, required secrets, and job permissions remain aligned with the reusable workflow contracts.
- The issue notification rename from
octo-issue-feed.yml@maintoocto-issue-notify.yml@v1is reflected correctly at.github/workflows/octo-issue-feed.yml:11. - No code, runtime behavior, or application security issues found in the changed surface.
Migrate caller refs
@main-> rolling@v1now that Mininglamp-OSS/.github has governed versioning (v1.0.0 + rolling v1). Issue notification caller repointed toocto-issue-notify.yml@v1(renamed from octo-issue-feed.yml). Files changed: 16.