Skip to content

Commit 31a3505

Browse files
authored
Attach cdx sboms to various images (#1793)
* Attach cdx sbom to images Signed-off-by: Prabhu Subramanian <[email protected]> --------- Signed-off-by: Prabhu Subramanian <[email protected]>
1 parent bde4897 commit 31a3505

File tree

2 files changed

+50
-2
lines changed

2 files changed

+50
-2
lines changed

.github/workflows/image-build.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,19 @@ jobs:
8585
push: true
8686
tags: ${{ steps.cdxgen-metadata.outputs.tags }}
8787
labels: ${{ steps.cdxgen-metadata.outputs.labels }}
88+
- name: Attach cdx sbom to base
89+
run: |
90+
corepack pnpm install --config.strict-dep-builds=true --package-import-method copy --frozen-lockfile
91+
node bin/cdxgen.js -t docker -o sbom-oci-base-image.cdx.json ${{ steps.base-metadata.outputs.tags[0] }}
92+
oras attach --artifact-type sbom/cyclonedx ${{ steps.base-metadata.outputs.tags[0] }} ./sbom-oci-base-image.cdx.json:application/json
93+
oras discover --format tree ${{ steps.base-metadata.outputs.tags[0] }}
94+
continue-on-error: true
95+
if: github.ref == 'refs/heads/master'
96+
- name: Attach cdx sbom
97+
run: |
98+
corepack pnpm install --config.strict-dep-builds=true --package-import-method copy --frozen-lockfile
99+
node bin/cdxgen.js -t docker -o sbom-oci-image.cdx.json ${{ steps.cdxgen-metadata.outputs.tags[0] }}
100+
oras attach --artifact-type sbom/cyclonedx ${{ steps.cdxgen-metadata.outputs.tags[0] }} ./sbom-oci-image.cdx.json:application/json
101+
oras discover --format tree ${{ steps.cdxgen-metadata.outputs.tags[0] }}
102+
continue-on-error: true
103+
if: ${{ startsWith(github.ref, 'refs/tags/') && ! fromJSON(inputs.image).cdxgen-image.skip-tags }}

.github/workflows/npm-release.yml

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ jobs:
126126
continue-on-error: true
127127
- name: Attach cdx sbom
128128
run: |
129-
corepack pnpm install --config.strict-dep-builds=true --package-import-method copy
129+
corepack pnpm install --config.strict-dep-builds=true --package-import-method copy --frozen-lockfile
130130
node bin/cdxgen.js -t docker -o cdxgen-oci-image.cdx.json ghcr.io/cyclonedx/cdxgen:latest
131131
oras attach --artifact-type sbom/cyclonedx ghcr.io/cyclonedx/cdxgen:latest ./cdxgen-oci-image.cdx.json:application/json
132132
oras discover --format tree ghcr.io/cyclonedx/cdxgen:latest
@@ -176,7 +176,7 @@ jobs:
176176
labels: ${{ steps.meta2.outputs.labels }}
177177
- name: Attach cdx sbom
178178
run: |
179-
corepack pnpm install --config.strict-dep-builds=true --package-import-method copy
179+
corepack pnpm install --config.strict-dep-builds=true --package-import-method copy --frozen-lockfile
180180
node bin/cdxgen.js -t docker -o cdxgen-secure-oci-image.cdx.json ghcr.io/cyclonedx/cdxgen-secure:latest
181181
oras attach --artifact-type sbom/cyclonedx ghcr.io/cyclonedx/cdxgen-secure:latest ./cdxgen-secure-oci-image.cdx.json:application/json
182182
oras discover --format tree ghcr.io/cyclonedx/cdxgen-secure:latest
@@ -235,6 +235,22 @@ jobs:
235235
push: true
236236
tags: ${{ steps.meta2.outputs.tags }}
237237
labels: ${{ steps.meta2.outputs.labels }}
238+
- name: Attach cdx sbom
239+
run: |
240+
corepack pnpm install --config.strict-dep-builds=true --package-import-method copy --frozen-lockfile
241+
node bin/cdxgen.js -t docker -o cdxgen-deno-oci-image.cdx.json ghcr.io/cyclonedx/cdxgen-deno:latest
242+
oras attach --artifact-type sbom/cyclonedx ghcr.io/cyclonedx/cdxgen-deno:latest ./cdxgen-deno-oci-image.cdx.json:application/json
243+
oras discover --format tree ghcr.io/cyclonedx/cdxgen-deno:latest
244+
continue-on-error: true
245+
if: startsWith(github.ref, 'refs/tags/')
246+
- name: Attach cdx deno sbom to release
247+
uses: softprops/action-gh-release@v2
248+
if: startsWith(github.ref, 'refs/tags/')
249+
with:
250+
files: |
251+
cdxgen-deno-oci-image.cdx.json
252+
env:
253+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
238254
containers-ppc64:
239255
if: github.repository == 'CycloneDX/cdxgen'
240256
runs-on: ubuntu-latest
@@ -326,3 +342,19 @@ jobs:
326342
push: true
327343
tags: ${{ steps.meta5.outputs.tags }}
328344
labels: ${{ steps.meta5.outputs.labels }}
345+
- name: Attach cdx sbom
346+
run: |
347+
corepack pnpm install --config.strict-dep-builds=true --package-import-method copy --frozen-lockfile
348+
node bin/cdxgen.js -t docker -o cdxgen-bun-oci-image.cdx.json ghcr.io/cyclonedx/cdxgen-bun:latest
349+
oras attach --artifact-type sbom/cyclonedx ghcr.io/cyclonedx/cdxgen-bun:latest ./cdxgen-bun-oci-image.cdx.json:application/json
350+
oras discover --format tree ghcr.io/cyclonedx/cdxgen-bun:latest
351+
continue-on-error: true
352+
if: startsWith(github.ref, 'refs/tags/')
353+
- name: Attach cdx bun sbom to release
354+
uses: softprops/action-gh-release@v2
355+
if: startsWith(github.ref, 'refs/tags/')
356+
with:
357+
files: |
358+
cdxgen-bun-oci-image.cdx.json
359+
env:
360+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)