Skip to content

Commit c908e3b

Browse files
authored
chore(workflows): add actionlint and zizmor action linters [INC-161] (#2166)
Signed-off-by: Steve Beattie <steve.beattie@chainguard.dev>
1 parent 2740662 commit c908e3b

File tree

2 files changed

+99
-0
lines changed

2 files changed

+99
-0
lines changed

.github/workflows/actionlint.yaml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Copyright 2026 Chainguard, Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
name: Action Lint
5+
on:
6+
pull_request:
7+
branches: ['main']
8+
paths:
9+
- '.github/workflows/**'
10+
- '.github/actions/**'
11+
12+
push:
13+
branches: ['main']
14+
paths:
15+
- '.github/workflows/**'
16+
- '.github/actions/**'
17+
18+
permissions: {}
19+
20+
jobs:
21+
action-lint:
22+
permissions:
23+
contents: read # Clone the repository
24+
name: Action lint
25+
runs-on: ubuntu-latest
26+
steps:
27+
- uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
28+
with:
29+
egress-policy: block
30+
allowed-endpoints: >
31+
*.githubapp.com:443
32+
api.github.com:443
33+
github.com:443
34+
go.dev:443
35+
hooks.slack.com:443
36+
release-assets.githubusercontent.com:443
37+
38+
- name: Check out code
39+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
40+
with:
41+
persist-credentials: false
42+
43+
- name: Find yamls
44+
id: get_yamls
45+
run: |
46+
set -ex
47+
mapfile -t yamls < <(find .github/workflows -name "*.y*ml" | grep -v dependabot.)
48+
echo "files=${yamls[*]}" >> "${GITHUB_OUTPUT}"
49+
50+
- name: Action lint
51+
uses: step-security/action-actionlint@d364e70a116a460ed220d67b1ca2f2579c48a40a # v1.69.1
52+
env:
53+
SHELLCHECK_OPTS: "--exclude=SC2129"
54+
with:
55+
actionlint_flags: ${{ steps.get_yamls.outputs.files }}

.github/workflows/zizmor.yaml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Copyright 2026 Chainguard, Inc.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
name: Zizmor
5+
6+
on:
7+
pull_request:
8+
branches: ['main']
9+
paths:
10+
- '.github/workflows/**'
11+
- '.github/actions/**'
12+
push:
13+
branches: ['main']
14+
paths:
15+
- '.github/workflows/**'
16+
- '.github/actions/**'
17+
18+
permissions: {}
19+
20+
jobs:
21+
zizmor:
22+
name: Zizmor
23+
runs-on: ubuntu-latest
24+
permissions:
25+
actions: read # Required by codeql-action/upload-sarif to get workflow run info
26+
contents: read # Clone the repository
27+
security-events: write # Upload SARIF results to Code Scanning
28+
steps:
29+
- uses: step-security/harden-runner@fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 # v2.16.0
30+
with:
31+
egress-policy: block
32+
allowed-endpoints: >
33+
api.github.com:443
34+
github.com:443
35+
pkg-containers.githubusercontent.com:443
36+
ghcr.io
37+
38+
- name: Check out code
39+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
40+
with:
41+
persist-credentials: false
42+
43+
- name: Run zizmor
44+
uses: zizmorcore/zizmor-action@71321a20a9ded102f6e9ce5718a2fcec2c4f70d8 # v0.5.2

0 commit comments

Comments
 (0)