Skip to content

Reference in-repo workflows with GitHub's self-repository syntax - #430

Closed
jeremy wants to merge 1 commit into
mainfrom
self-repository-uses
Closed

Reference in-repo workflows with GitHub's self-repository syntax#430
jeremy wants to merge 1 commit into
mainfrom
self-repository-uses

Conversation

@jeremy

@jeremy jeremy commented Sep 10, 2026

Copy link
Copy Markdown
Member

zizmor 1.30.0, which zizmor-action 0.6.3 runs by default, adds a self-repository audit that flags workspace-relative uses: ./... references to in-repo actions and reusable workflows. GitHub's uses: $/... form resolves against the running commit rather than the checked-out filesystem, so it can't pick up an action cloned by an earlier step, and GitHub counts it as pinned. This repo pins zizmor-action 0.6.2 and would fail the audit on the next Dependabot bump, so release.yml's call to the security.yml reusable workflow moves to the new form.

actionlint 1.7.12 rejects the new form and no release knows it yet (rhysd/actionlint#711), so .github/actionlint.yaml ignores that one message for workflow files, with a note to drop it once a release does.

CI's audit job on this PR (actionlint, then zizmor) is the proof.

Same change as basecamp/hey-sdk#171 and #174.


Summary by cubic

Changes the release workflow's in-repo reusable workflow call to GitHub's self-repository syntax (uses: $/...). This complies with zizmor 1.30.0's self-repository audit, which flags workspace-relative ./ references, and GitHub counts $/... as pinned. The new form resolves against the running commit rather than the checked-out filesystem. Also adds .github/actionlint.yaml to ignore actionlint's current rejection of the new syntax until it's supported.

Written for commit a00fe32. Summary will update on new commits.

Review in cubic

zizmor 1.30.0, which zizmor-action 0.6.3 runs by default, adds a
self-repository audit that flags workspace-relative `uses: ./...` references
to in-repo actions and reusable workflows. GitHub's `uses: $/...` form resolves
against the running commit rather than the checked-out filesystem, so it can't
pick up an action cloned by an earlier step, and GitHub counts it as pinned.
This repo pins zizmor-action 0.6.2 and would fail the audit on the next bump.

actionlint 1.7.12 rejects the new form and no release knows it yet
(rhysd/actionlint#711), so an actionlint config ignores that one message for
workflow files, with a note to drop it once a release does.

Same change as basecamp/hey-sdk#171 and #174.
Copilot AI balanced review requested due to automatic review settings September 10, 2026 09:48
@jeremy
jeremy requested a review from a team as a code owner September 10, 2026 09:48
@github-actions github-actions Bot added the ci label Sep 10, 2026
@github-actions

Copy link
Copy Markdown

Sensitive Change Detection (shadow mode)

This PR modifies control-plane files:

  • .github/workflows/release.yml

Shadow mode — this check is informational only. When activated, changes to these paths will require approval from a maintainer.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 10, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-10T09:50:41.813035Z a00fe32 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approved

The changes are narrowly scoped, documented, and validated by the successful GitHub Actions audit.

Pull request overview

Updates reusable workflow references to GitHub’s secure self-repository syntax and accommodates actionlint 1.7.12.

Changes:

  • Uses $/... for the release security workflow.
  • Adds a narrowly scoped temporary actionlint exception.

[!TIP]
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.

File summaries
File Description
.github/workflows/release.yml Uses self-repository workflow resolution.
.github/actionlint.yaml Suppresses actionlint’s unsupported-syntax error.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@jeremy

jeremy commented Sep 10, 2026

Copy link
Copy Markdown
Member Author

Closing: #421 now carries this change. It was reworked from the inline zizmor ignore onto the $/ form with the scoped actionlint config, matching hey-sdk, basecamp-sdk, fizzy-sdk, basecamp-cli, cli, once and openclaw-basecamp, and since #421 also bumps zizmor-action to 0.6.3 its CI runs the 1.30 audit for real.

@jeremy jeremy closed this Sep 10, 2026
@jeremy
jeremy deleted the self-repository-uses branch September 10, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants