Skip to content

feat: add a shared actions-lint reusable workflow - #3

Merged
non7top merged 1 commit into
mainfrom
feat/actions-lint
Sep 26, 2026
Merged

non7top merged 1 commit into
mainfrom
feat/actions-lint

Conversation

@non7top

@non7top non7top commented Sep 26, 2026 •

Copy link
Copy Markdown
Owner

Part of the discussion in #2: a lint action gating PRs that touch
workflow/action files is something that can be done right now, ahead of
whatever the "final sweep" ends up being.

Adds actions-lint.yml, a workflow_call reusable workflow running
actionlint + check-jsonschema (pinned to match release-please-forecast's
own .pre-commit-config.yaml) so every caller lints against the same
tool versions instead of each repo copying and drifting its own config.

Any repo can gate its own workflow-touching PRs on it with:

jobs:
  lint:
    uses: non7top/gh-workflows/.github/workflows/actions-lint.yml@main

Also adds lint.yml, wiring this repo's own workflow files into it —
gh-workflows had none of this coverage today.

Verified both tools run clean against this repo's current files (ran
actionlint 1.7.12 and check-jsonschema's github-workflows schema
locally in disposable containers before pushing).

Scope note: this catches same-repo authoring mistakes before merge — bad
expressions, malformed YAML, an undeclared input on a local
reusable-workflow reference. It does not close the cross-repo gap from
#2 (actionlint can't validate a with: block against a reusable
workflow defined in another repo, which is exactly what slipped through
on non7top/sort4print#38) — that's still open, tracked there.

actionlint + check-jsonschema, pinned to match release-please-forecast's
own .pre-commit-config.yaml, as a workflow_call any repo in the org can
gate PRs that touch workflow/action files on — one source of truth for
versions instead of each caller repo duplicating and drifting its own
copy of the config.

Catches same-repo authoring mistakes (bad expressions, malformed YAML,
an undeclared input on a *local* reusable-workflow call) before merge.
Doesn't close the cross-repo gap from #2 — actionlint
can't validate a `with:` block against a reusable workflow defined in
another repo — that's still the "final sweep" idea tracked there.

Also wires this repo's own workflow files into it (lint.yml), since it
has none of that coverage today.
@non7top
non7top merged commit f2bf00c into main Sep 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant