Skip to content

Commit bafd20e

Browse files
authored
Additional hardening measures for workflows (#1209)
1 parent af4f3de commit bafd20e

File tree

5 files changed

+26
-7
lines changed

5 files changed

+26
-7
lines changed

.github/workflows/build-perf.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ jobs:
1313
name: Build Size Report
1414
timeout-minutes: 30
1515
runs-on: ubuntu-latest
16+
permissions:
17+
contents: read
1618
steps:
1719
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
1820
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
@@ -34,6 +36,8 @@ jobs:
3436
name: Build Time Perf
3537
timeout-minutes: 30
3638
runs-on: ubuntu-latest
39+
permissions:
40+
contents: read
3741
steps:
3842
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
3943
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4

.github/workflows/deploy-preview.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,19 @@ jobs:
1717
steps:
1818
- name: Check if actor is org member
1919
id: is-org-member
20-
run: echo "is-org-member-result=$(gh api -X GET orgs/PaloAltoNetworks/memberships/${{ github.actor }} | jq -r .message)" >> "$GITHUB_OUTPUT"
21-
env:
22-
GH_TOKEN: ${{ secrets.PAT }}
20+
run: |
21+
status=$(curl -s -o /dev/null -w "%{http_code}" -H "Authorization: Bearer $GH_TOKEN" \
22+
https://api.github.com/orgs/PaloAltoNetworks/members/${{ github.actor }})
23+
if [ "$status" = "204" ]; then
24+
echo "is-org-member-result=true" >> "$GITHUB_OUTPUT"
25+
else
26+
echo "is-org-member-result=false" >> "$GITHUB_OUTPUT"
27+
fi
28+
env:
29+
GH_TOKEN: ${{ secrets.PAT }}
2330

2431
analyze:
25-
if: github.repository == 'PaloAltoNetworks/docusaurus-openapi-docs' && needs.precheck.outputs.is-org-member-result == 'null'
32+
if: github.repository == 'PaloAltoNetworks/docusaurus-openapi-docs' && needs.precheck.outputs.is-org-member-result == 'true'
2633
name: Analyze
2734
needs: precheck
2835
runs-on: ubuntu-latest
@@ -50,7 +57,7 @@ jobs:
5057
uses: github/codeql-action/analyze@1b549b9259bda1cb5ddde3b41741a82a2d15a841 # v3
5158

5259
analyze_unsafe:
53-
if: github.repository == 'PaloAltoNetworks/docusaurus-openapi-docs' && needs.precheck.outputs.is-org-member-result != 'null'
60+
if: github.repository == 'PaloAltoNetworks/docusaurus-openapi-docs' && needs.precheck.outputs.is-org-member-result == 'false'
5461
name: Analyze Unsafe
5562
needs: precheck
5663
runs-on: ubuntu-latest

.github/workflows/release-beta.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
git config user.email "github-actions[bot]@users.noreply.github.com"
2323
- uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2
2424
with:
25-
node-version: "*"
25+
node-version: "20"
2626
registry-url: "https://registry.npmjs.org"
2727
- name: Release Beta
2828
run: npx ts-node --transpile-only scripts/publish-beta.ts

.github/workflows/release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
git config user.email "github-actions[bot]@users.noreply.github.com"
2424
- uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2
2525
with:
26-
node-version: "*"
26+
node-version: "20"
2727
registry-url: "https://registry.npmjs.org"
2828
- name: Release
2929
run: npx ts-node --transpile-only scripts/publish.ts

.github/workflows/validate.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ jobs:
1414
if: ${{ github.repository == 'PaloAltoNetworks/docusaurus-openapi-docs' }}
1515
name: Prepare Cache
1616
runs-on: ubuntu-latest
17+
permissions:
18+
contents: read
1719
steps:
1820
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
1921
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
@@ -34,6 +36,8 @@ jobs:
3436
name: Lint
3537
needs: prepare-yarn-cache
3638
runs-on: ubuntu-latest
39+
permissions:
40+
contents: read
3741
steps:
3842
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
3943
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
@@ -57,6 +61,8 @@ jobs:
5761
name: Test
5862
needs: prepare-yarn-cache
5963
runs-on: ubuntu-latest
64+
permissions:
65+
contents: read
6066
steps:
6167
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
6268
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
@@ -78,6 +84,8 @@ jobs:
7884
name: Cypress
7985
needs: prepare-yarn-cache
8086
runs-on: ubuntu-latest
87+
permissions:
88+
contents: read
8189
steps:
8290
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
8391
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4

0 commit comments

Comments
 (0)