Skip to content

Commit de3bd32

Browse files
fix artefacts sbom
1 parent 0a8d70b commit de3bd32

1 file changed

Lines changed: 30 additions & 24 deletions

File tree

.github/workflows/build.yml

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ on:
2323

2424
jobs:
2525

26-
# ── GET VERSION + TAG ─────────────────────────────────
2726
get-meta:
2827
runs-on: ubuntu-latest
2928
outputs:
@@ -74,9 +73,6 @@ jobs:
7473
&& echo "webui=true" >> $GITHUB_OUTPUT \
7574
|| echo "webui=false" >> $GITHUB_OUTPUT
7675
77-
#
78-
79-
# ── PROXY ─────────────────────────────────────────────
8076
build-proxy:
8177
needs: get-meta
8278
if: needs.get-meta.outputs.proxy_changed == 'true'
@@ -141,29 +137,27 @@ jobs:
141137
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh \
142138
| sh -s -- -b /usr/local/bin
143139
144-
145140
- name: Generate SBOM + attest proxy
146141
run: |
147142
echo "${{ secrets.COSIGN_PRIVATE_KEY }}" > /tmp/cosign.key
148143
chmod 600 /tmp/cosign.key
149144
150-
syft ${{ steps.build-proxy.outputs.digest }} -o spdx-json > /tmp/sbom.spdx.json
145+
syft ${{ steps.build-proxy.outputs.digest }} -o spdx-json > /tmp/sbom-proxy.spdx.json
151146
152147
COSIGN_PASSWORD="" cosign attest --yes \
153148
--key /tmp/cosign.key \
154149
--type spdxjson \
155-
--predicate /tmp/sbom.spdx.json \
150+
--predicate /tmp/sbom-proxy.spdx.json \
156151
${{ steps.build-proxy.outputs.digest }}
157152
158-
rm /tmp/cosign.key /tmp/sbom.spdx.json
159-
153+
rm /tmp/cosign.key
160154
161155
- name: Attest provenance proxy
162156
run: |
163157
echo "${{ secrets.COSIGN_PRIVATE_KEY }}" > /tmp/cosign.key
164158
chmod 600 /tmp/cosign.key
165159
166-
cat > /tmp/provenance.json << EOF
160+
cat > /tmp/provenance-proxy.json << EOF
167161
{
168162
"buildType": "https://github.com/enclaive/garnet",
169163
"builder": {"id": "github-actions"},
@@ -179,12 +173,20 @@ jobs:
179173
COSIGN_PASSWORD="" cosign attest --yes \
180174
--key /tmp/cosign.key \
181175
--type slsaprovenance \
182-
--predicate /tmp/provenance.json \
176+
--predicate /tmp/provenance-proxy.json \
183177
${{ steps.build-proxy.outputs.digest }}
184178
185-
rm /tmp/cosign.key /tmp/provenance.json
179+
rm /tmp/cosign.key
180+
181+
- name: Upload SBOM + provenance artifacts
182+
uses: actions/upload-artifact@v4
183+
with:
184+
name: proxy-sbom-provenance-${{ needs.get-meta.outputs.revision }}
185+
path: |
186+
/tmp/sbom-proxy.spdx.json
187+
/tmp/provenance-proxy.json
188+
retention-days: 90
186189

187-
# ── PYTHON CHECKS (pip-audit, ruff, mypy, trivy, bandit) ──
188190
python-checks:
189191
needs: [get-meta, build-proxy]
190192
if: needs.get-meta.outputs.proxy_changed == 'true'
@@ -195,7 +197,6 @@ jobs:
195197
HARBOR_USERNAME: ${{ secrets.HARBOR_USERNAME }}
196198
HARBOR_PASSWORD: ${{ secrets.HARBOR_PASSWORD }}
197199

198-
# ── DEPLOY PROXY ──────────────────────────────────────
199200
deploy-proxy:
200201
needs: [get-meta, build-proxy, python-checks]
201202
if: needs.get-meta.outputs.proxy_changed == 'true'
@@ -222,7 +223,6 @@ jobs:
222223
docker exec garnet-privacy-proxy-1 python3 -c \
223224
'import urllib.request; print(urllib.request.urlopen(\"http://localhost:8080/health\").read())'"
224225
225-
# ── RUN TESTS ─────────────────────────────────────────
226226
run-tests:
227227
needs: deploy-proxy
228228
if: needs.get-meta.outputs.proxy_changed == 'true'
@@ -231,7 +231,6 @@ jobs:
231231
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
232232
CVM_HOST: ${{ secrets.CVM_HOST }}
233233

234-
# ── WEBUI ─────────────────────────────────────────────
235234
build-webui:
236235
needs: get-meta
237236
if: needs.get-meta.outputs.webui_changed == 'true'
@@ -291,7 +290,6 @@ jobs:
291290
${{ steps.build-webui.outputs.digest }}
292291
rm /tmp/cosign.key
293292
294-
295293
- name: Install Syft
296294
run: |
297295
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh \
@@ -302,22 +300,22 @@ jobs:
302300
echo "${{ secrets.COSIGN_PRIVATE_KEY }}" > /tmp/cosign.key
303301
chmod 600 /tmp/cosign.key
304302
305-
syft ${{ steps.build-webui.outputs.digest }} -o spdx-json > /tmp/sbom.spdx.json
303+
syft ${{ steps.build-webui.outputs.digest }} -o spdx-json > /tmp/sbom-webui.spdx.json
306304
307305
COSIGN_PASSWORD="" cosign attest --yes \
308306
--key /tmp/cosign.key \
309307
--type spdxjson \
310-
--predicate /tmp/sbom.spdx.json \
308+
--predicate /tmp/sbom-webui.spdx.json \
311309
${{ steps.build-webui.outputs.digest }}
312310
313-
rm /tmp/cosign.key /tmp/sbom.spdx.json
311+
rm /tmp/cosign.key
314312
315313
- name: Attest provenance webui
316314
run: |
317315
echo "${{ secrets.COSIGN_PRIVATE_KEY }}" > /tmp/cosign.key
318316
chmod 600 /tmp/cosign.key
319317
320-
cat > /tmp/provenance.json << EOF
318+
cat > /tmp/provenance-webui.json << EOF
321319
{
322320
"buildType": "https://github.com/enclaive/garnet",
323321
"builder": {"id": "github-actions"},
@@ -333,12 +331,20 @@ jobs:
333331
COSIGN_PASSWORD="" cosign attest --yes \
334332
--key /tmp/cosign.key \
335333
--type slsaprovenance \
336-
--predicate /tmp/provenance.json \
334+
--predicate /tmp/provenance-webui.json \
337335
${{ steps.build-webui.outputs.digest }}
338336
339-
rm /tmp/cosign.key /tmp/provenance.json
337+
rm /tmp/cosign.key
338+
339+
- name: Upload SBOM + provenance artifacts
340+
uses: actions/upload-artifact@v4
341+
with:
342+
name: webui-sbom-provenance-${{ needs.get-meta.outputs.revision }}
343+
path: |
344+
/tmp/sbom-webui.spdx.json
345+
/tmp/provenance-webui.json
346+
retention-days: 90
340347

341-
# ── DEPLOY WEBUI ──────────────────────────────────────
342348
deploy-webui:
343349
needs: [get-meta, build-webui]
344350
if: needs.get-meta.outputs.webui_changed == 'true'

0 commit comments

Comments
 (0)