1010
1111permissions :
1212 contents : read
13- packages : write
14- id-token : write
15- attestations : write
13+ pull-requests : read
1614
1715jobs :
1816 gitleaks :
1917 runs-on : ubuntu-latest
2018 steps :
21- - uses : actions/checkout@v4
19+ - uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
2220 with :
2321 fetch-depth : 0
24- - uses : gitleaks/gitleaks-action@v2
22+ persist-credentials : false
23+ - uses : gitleaks/gitleaks-action@ff98106e4c7b2bc287b24eaf42907196329070c7 # v2
2524 env :
2625 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
2726 GITLEAKS_LICENSE : ${{ secrets.GITLEAKS_LICENSE }}
2827
28+ zizmor :
29+ runs-on : ubuntu-latest
30+ steps :
31+ - uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
32+ with :
33+ persist-credentials : false
34+ - uses : zizmorcore/zizmor-action@b1d7e1fb5de872772f31590499237e7cce841e8e # v0.5.3
35+ with :
36+ advanced-security : false
37+
2938 commitlint :
3039 if : github.event_name == 'pull_request'
3140 runs-on : ubuntu-latest
3241 steps :
33- - uses : actions/checkout@v4
42+ - uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
3443 with :
3544 fetch-depth : 0
36- - uses : wagoid/commitlint-github-action@v6
45+ persist-credentials : false
46+ - uses : wagoid/commitlint-github-action@b948419dd99f3fd78a6548d48f94e3df7f6bf3ed # v6
3747
3848 lint :
3949 runs-on : ubuntu-latest
4050 steps :
41- - uses : actions/checkout@v4
42- - uses : pnpm/action-setup@v4
43- - uses : actions/setup-node@v4
51+ - uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
52+ with :
53+ persist-credentials : false
54+ - uses : pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
55+ - uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
4456 with :
4557 node-version-file : .nvmrc
4658 cache : pnpm
5062 test :
5163 runs-on : ubuntu-latest
5264 steps :
53- - uses : actions/checkout@v4
54- - uses : pnpm/action-setup@v4
55- - uses : actions/setup-node@v4
65+ - uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
66+ with :
67+ persist-credentials : false
68+ - uses : pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
69+ - uses : actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
5670 with :
5771 node-version-file : .nvmrc
5872 cache : pnpm
6377 runs-on : ubuntu-latest
6478 timeout-minutes : 60
6579 steps :
66- - uses : actions/checkout@v4
80+ - uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
81+ with :
82+ persist-credentials : false
6783 - run : docker compose --profile test up e2e-test --build --abort-on-container-exit
68- - uses : actions/upload-artifact@v4
84+ - uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
6985 if : always()
7086 with :
7187 name : playwright-report
@@ -75,16 +91,23 @@ jobs:
7591 build :
7692 needs : [lint, test, e2e]
7793 runs-on : ubuntu-latest
94+ permissions :
95+ contents : read
96+ packages : write
97+ id-token : write
98+ attestations : write
7899 steps :
79- - uses : actions/checkout@v4
80- - uses : docker/setup-buildx-action@v3
81- - uses : docker/login-action@v3
100+ - uses : actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
101+ with :
102+ persist-credentials : false
103+ - uses : docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
104+ - uses : docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
82105 if : github.event_name == 'push'
83106 with :
84107 registry : ghcr.io
85108 username : ${{ github.actor }}
86109 password : ${{ secrets.GITHUB_TOKEN }}
87- - uses : docker/build-push-action@v6
110+ - uses : docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6
88111 with :
89112 push : ${{ github.event_name == 'push' }}
90113 provenance : ${{ github.event_name == 'push' }}
@@ -97,13 +120,14 @@ jobs:
97120
98121 check :
99122 if : always()
100- needs : [gitleaks, commitlint, lint, test, e2e, build]
123+ needs : [gitleaks, zizmor, commitlint, lint, test, e2e, build]
101124 runs-on : ubuntu-latest
102125 steps :
103126 - name : Verify all jobs passed
104127 run : |
105128 results=( \
106129 "${{ needs.gitleaks.result }}" \
130+ "${{ needs.zizmor.result }}" \
107131 "${{ needs.commitlint.result }}" \
108132 "${{ needs.lint.result }}" \
109133 "${{ needs.test.result }}" \
0 commit comments