Skip to content

Commit e5d5dbc

Browse files
authored
Lint actions (#147)
* Pin Actions * Limit workflow permissions * Don't persist GH credentials from checkout * Fix actionlint issues * Enable Actions linting with zizmor and actionlint * Enable dependabot
1 parent 15076b8 commit e5d5dbc

9 files changed

Lines changed: 94 additions & 17 deletions

File tree

.github/dependabot.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: "/"
5+
commit-message:
6+
prefix: "chore"
7+
include: "scope"
8+
cooldown:
9+
default-days: 7

.github/workflows/keycloak.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,14 @@ jobs:
2222
integration-tests:
2323
name: Run Integration Tests
2424
runs-on: ubuntu-latest
25+
permissions:
26+
contents: read
2527
timeout-minutes: 15
2628
steps:
2729
- name: Checkout
28-
uses: actions/checkout@v4
30+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
31+
with:
32+
persist-credentials: false
2933

3034
- name: Setup LocalStack and extension
3135
run: |
@@ -37,7 +41,7 @@ jobs:
3741
3842
make install
3943
make dist
40-
localstack extensions -v install file://$(ls ./dist/localstack_keycloak-*.tar.gz)
44+
localstack extensions -v install file://"$(ls ./dist/localstack_keycloak-*.tar.gz)"
4145
4246
DEBUG=1 localstack start -d
4347
localstack wait
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Lint GitHub Actions workflows
2+
on:
3+
push:
4+
branches:
5+
- main
6+
paths:
7+
- '.github/workflows/**'
8+
- '.github/dependabot.yml'
9+
- '.github/zizmor.yml'
10+
pull_request:
11+
paths:
12+
- '.github/workflows/**'
13+
- '.github/dependabot.yml'
14+
- '.github/zizmor.yml'
15+
16+
permissions: {}
17+
18+
jobs:
19+
lint_workflows:
20+
name: "Run linters"
21+
runs-on: ubuntu-latest
22+
permissions:
23+
contents: read
24+
actions: read
25+
26+
steps:
27+
- name: Check out repo
28+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
29+
with:
30+
persist-credentials: false
31+
32+
- name: Run actionlint
33+
uses: raven-actions/actionlint@205b530c5d9fa8f44ae9ed59f341a0db994aa6f8 # v2.1.2
34+
35+
- name: Run zizmor
36+
uses: zizmorcore/zizmor-action@5f14fd08f7cf1cb1609c1e344975f152c7ee938d # v0.5.6
37+
with:
38+
# Don't integrate with GitHub Advanced Security
39+
advanced-security: false

.github/workflows/miniflare.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ jobs:
2121
tests-miniflare:
2222
name: Run extension tests
2323
runs-on: ubuntu-latest
24+
permissions:
25+
contents: read
2426
steps:
2527
- name: Checkout
26-
uses: actions/checkout@v6
28+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
2729
with:
2830
persist-credentials: true
2931

@@ -36,7 +38,7 @@ jobs:
3638
3739
make install
3840
make dist
39-
localstack extensions -v install file://$(ls ./dist/localstack_extension_miniflare-*.tar.gz)
41+
localstack extensions -v install file://"$(ls ./dist/localstack_extension_miniflare-*.tar.gz)"
4042
4143
DEBUG=1 localstack start -d
4244
localstack wait

.github/workflows/paradedb.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,14 @@ jobs:
2222
integration-tests:
2323
name: Run Integration Tests
2424
runs-on: ubuntu-latest
25+
permissions:
26+
contents: read
2527
timeout-minutes: 10
2628
steps:
2729
- name: Checkout
28-
uses: actions/checkout@v4
30+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
31+
with:
32+
persist-credentials: false
2933

3034
- name: Setup LocalStack and extension
3135
run: |
@@ -38,7 +42,7 @@ jobs:
3842
make install
3943
make lint
4044
make dist
41-
localstack extensions -v install file://$(ls ./dist/localstack_extension_paradedb-*.tar.gz)
45+
localstack extensions -v install file://"$(ls ./dist/localstack_extension_paradedb-*.tar.gz)"
4246
4347
DEBUG=1 localstack start -d
4448
localstack wait

.github/workflows/typedb.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,14 @@ jobs:
2222
integration-tests:
2323
name: Run Integration Tests
2424
runs-on: ubuntu-latest
25+
permissions:
26+
contents: read
2527
timeout-minutes: 10
2628
steps:
2729
- name: Checkout
28-
uses: actions/checkout@v4
30+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
31+
with:
32+
persist-credentials: false
2933

3034
- name: Setup LocalStack and extension
3135
run: |
@@ -38,7 +42,7 @@ jobs:
3842
make install
3943
make lint
4044
make dist
41-
localstack extensions -v install file://$(ls ./dist/localstack_extension_typedb-*.tar.gz)
45+
localstack extensions -v install file://"$(ls ./dist/localstack_extension_typedb-*.tar.gz)"
4246
4347
DEBUG=1 localstack start -d
4448
localstack wait

.github/workflows/utils.yml

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,24 @@ jobs:
1818
unit-tests:
1919
name: Run Unit Tests
2020
runs-on: ubuntu-latest
21+
permissions:
22+
contents: read
2123
timeout-minutes: 5
2224
steps:
2325
- name: Checkout
24-
uses: actions/checkout@v4
26+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
27+
with:
28+
persist-credentials: false
2529

2630
- name: Set up Python
27-
uses: actions/setup-python@v5
31+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
2832
with:
2933
python-version: "3.11"
3034

3135
- name: Install dependencies
3236
run: |
3337
cd utils
34-
pip install -e .[dev,test]
38+
pip install -e '.[dev,test]'
3539
3640
- name: Lint
3741
run: |
@@ -46,20 +50,24 @@ jobs:
4650
integration-tests:
4751
name: Run Integration Tests
4852
runs-on: ubuntu-latest
53+
permissions:
54+
contents: read
4955
timeout-minutes: 10
5056
steps:
5157
- name: Checkout
52-
uses: actions/checkout@v4
58+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
59+
with:
60+
persist-credentials: false
5361

5462
- name: Set up Python
55-
uses: actions/setup-python@v5
63+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
5664
with:
5765
python-version: "3.11"
5866

5967
- name: Install dependencies
6068
run: |
6169
cd utils
62-
pip install -e .[dev,test]
70+
pip install -e '.[dev,test]'
6371
6472
- name: Run integration tests
6573
run: |

.github/workflows/wiremock.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,17 @@ jobs:
2323
integration-tests:
2424
name: Run WireMock Extension Tests
2525
runs-on: ubuntu-latest
26+
permissions:
27+
contents: read
2628
timeout-minutes: 10
2729
steps:
2830
- name: Checkout
29-
uses: actions/checkout@v4
31+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
32+
with:
33+
persist-credentials: false
3034

3135
- name: Set up Terraform
32-
uses: hashicorp/setup-terraform@v3
36+
uses: hashicorp/setup-terraform@dfe3c3f87815947d99a8997f908cb6525fc44e9e # v4.0.1
3337

3438
- name: Set up LocalStack and extension
3539
run: |
@@ -43,7 +47,7 @@ jobs:
4347
make install
4448
make lint
4549
make dist
46-
localstack extensions -v install file://$(ls ./dist/localstack_wiremock-*.tar.gz)
50+
localstack extensions -v install file://"$(ls ./dist/localstack_wiremock-*.tar.gz)"
4751
4852
DEBUG=1 localstack start -d
4953
localstack wait

.github/zizmor.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
rules:
2+
secrets-outside-env:
3+
disable: true

0 commit comments

Comments
 (0)