diff --git a/prompts/seed-cli.md b/prompts/seed-cli.md index 487efff..e493b60 100644 --- a/prompts/seed-cli.md +++ b/prompts/seed-cli.md @@ -100,7 +100,9 @@ You are creating a new Go CLI for a 37signals product using the seed templates. **GitHub infra (copy as-is unless .tmpl):** - `seed/.github/workflows/test.yml` → `.github/workflows/test.yml` (update env vars, GOPRIVATE) + - `seed/.github/actionlint.yaml` → `.github/actionlint.yaml` (the test workflow's lint-actions job reads it) - `seed/.github/workflows/security.yml` → `.github/workflows/security.yml` + - `seed/.github/workflows/scorecard.yml` → `.github/workflows/scorecard.yml` - `seed/.github/workflows/release.yml` → `.github/workflows/release.yml` (update env vars) - `seed/.github/workflows/dependabot-auto-merge.yml` → `.github/workflows/dependabot-auto-merge.yml` - `seed/.github/workflows/labeler.yml` → `.github/workflows/labeler.yml` diff --git a/seed/.github/actionlint.yaml b/seed/.github/actionlint.yaml new file mode 100644 index 0000000..05d90ee --- /dev/null +++ b/seed/.github/actionlint.yaml @@ -0,0 +1,10 @@ +# actionlint's rules for this repository. See https://github.com/rhysd/actionlint/blob/main/docs/config.md +paths: + .github/workflows/**/*.yml: + ignore: + # GitHub's self-repository `uses: $/...` syntax (July 2026) is what zizmor's + # self-repository audit asks for in place of `./...`, and what our reusable-workflow + # calls use. actionlint 1.7.12 predates it and has no release that knows it + # (rhysd/actionlint#711); drop this once one does. The ignore names the exact calls, + # so a new `$/` call is a deliberate edit here rather than a silent pass. + - 'reusable workflow call "\$/\.github/workflows/(security)\.yml" at "uses" is not following the format' diff --git a/seed/.github/workflows/test.yml b/seed/.github/workflows/test.yml index fa91764..cce7711 100644 --- a/seed/.github/workflows/test.yml +++ b/seed/.github/workflows/test.yml @@ -98,6 +98,24 @@ jobs: with: version: v2.9.0 + lint-actions: + name: GitHub Actions audit + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Run actionlint + uses: rhysd/actionlint@914e7df21a07ef503a81201c76d2b11c789d3fca # v1.7.12 + + - name: Run zizmor + uses: zizmorcore/zizmor-action@70fb788f84895a7701f5643d103d587e460b5c99 # v0.6.3 + with: + advanced-security: false + security: name: Security runs-on: ubuntu-latest