Skip to content

Commit 7f56cc4

Browse files
committed
perf(security): gate audits from shared profile
1 parent d6b6f8a commit 7f56cc4

1 file changed

Lines changed: 5 additions & 21 deletions

File tree

‎.github/workflows/security.yml‎

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ jobs:
6464

6565
dependency-audit-javascript:
6666
name: Dependency Audit (JavaScript)
67+
needs: profile
68+
if: ${{ needs.profile.result == 'success' && needs.profile.outputs.javascript == 'true' }}
6769
runs-on: ubuntu-slim
6870
timeout-minutes: 20
6971
steps:
@@ -86,20 +88,17 @@ jobs:
8688
**/yarn.lock
8789
**/package-lock.json
8890
sparse-checkout-cone-mode: false
89-
- name: Detect
90-
id: applicability
91-
run: bash .github/scripts/security.sh should_run javascript >> "$GITHUB_OUTPUT"
9291
- name: Setup
93-
if: steps.applicability.outputs.applicable == 'true'
9492
uses: ./.github/actions/setup
9593
with:
9694
mise-scope: javascript
9795
- name: Audit dependencies
98-
if: steps.applicability.outputs.applicable == 'true'
9996
run: bash .github/scripts/security.sh audit javascript
10097

10198
dependency-audit-rust:
10299
name: Dependency Audit (Rust)
100+
needs: profile
101+
if: ${{ needs.profile.result == 'success' && needs.profile.outputs.rust == 'true' }}
103102
runs-on: ubuntu-slim
104103
timeout-minutes: 20
105104
steps:
@@ -116,26 +115,21 @@ jobs:
116115
**/Cargo.lock
117116
**/.cargo/**
118117
sparse-checkout-cone-mode: false
119-
- name: Detect
120-
id: applicability
121-
run: bash .github/scripts/security.sh should_run rust >> "$GITHUB_OUTPUT"
122118
- name: Setup
123-
if: steps.applicability.outputs.applicable == 'true'
124119
uses: ./.github/actions/setup
125120
with:
126121
mise-scope: rust
127122
- name: Install cargo-audit
128-
if: steps.applicability.outputs.applicable == 'true'
129123
uses: taiki-e/install-action@v2
130124
with:
131125
tool: cargo-audit
132126
- name: Audit dependencies
133-
if: steps.applicability.outputs.applicable == 'true'
134127
run: bash .github/scripts/security.sh audit rust
135128

136129
dependency-audit-python:
137130
name: Dependency Audit (Python) / ${{ matrix.requirement }}
138131
needs: profile
132+
if: ${{ needs.profile.result == 'success' && needs.profile.outputs.python == 'true' }}
139133
strategy:
140134
fail-fast: false
141135
max-parallel: 8
@@ -147,7 +141,6 @@ jobs:
147141
REPO_FOUNDRY_PYTHON_REQUIREMENT: ${{ matrix.requirement }}
148142
steps:
149143
- name: Checkout
150-
if: matrix.requirement != 'none'
151144
uses: actions/checkout@v7
152145
with:
153146
# Python audits only need manifests, lockfiles, and audit config.
@@ -165,21 +158,12 @@ jobs:
165158
**/poetry.lock
166159
**/uv.lock
167160
sparse-checkout-cone-mode: false
168-
- name: Detect
169-
if: matrix.requirement != 'none'
170-
id: applicability
171-
run: bash .github/scripts/security.sh should_run python >> "$GITHUB_OUTPUT"
172161
- name: Setup
173-
if: matrix.requirement != 'none' && steps.applicability.outputs.applicable == 'true'
174162
uses: ./.github/actions/setup
175163
with:
176164
mise-scope: python
177165
- name: Audit dependencies
178-
if: matrix.requirement != 'none' && steps.applicability.outputs.applicable == 'true'
179166
run: bash .github/scripts/security.sh audit python
180-
- name: Skip
181-
if: matrix.requirement == 'none'
182-
run: echo 'Skipping Python audit (no applicable Python dependencies)'
183167

184168
dependency-review:
185169
name: Dependency Review

0 commit comments

Comments
 (0)