Skip to content

Commit b45d2c2

Browse files
authored
Merge pull request #166 from LesiaChaban/main
Update sbom_generation.yaml
2 parents 4912ca3 + 4485760 commit b45d2c2

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

sbom_generation.yaml

+23-6
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,34 @@ version: 0.1
88
component: build
99
timeoutInSeconds: 1000
1010
shell: bash
11-
11+
env:
12+
variables:
13+
PYTHON_CMD: "python3"
14+
CDXGEN_DEBUG_MODE: "debug"
1215
steps:
1316
- type: Command
14-
name: "Install cyclonedx_py module"
17+
name: "Download the version 10.10.0 of cdxgen globally"
18+
command: |
19+
npm install -g @cyclonedx/[email protected]
20+
- type: Command
21+
name: "Workaround to let cdxgen run on nodejs 16"
1522
command: |
16-
pip install cyclonedx-bom
23+
# cdxgen relies on a fourth-party dependency that cannot be executed in a Node.js environment running version 16
24+
# (as installed on the build runner instance)
25+
# This is a workaround to ensure cdxgen functions correctly, even in an older Node.js environment.
26+
cd /node/node-v16.14.2-linux-x64/lib/node_modules/@cyclonedx/cdxgen && \
27+
npm install [email protected]
1728
- type: Command
18-
name: "Run Python cyclonedx_py module"
29+
name: "Generate SBOM for Python "
1930
command: |
20-
# For more details, visit https://github.com/CycloneDX/cyclonedx-python/blob/main/README.md
21-
python3 -m cyclonedx_py -r -pb --format json -o artifactSBOM.json --schema-version 1.4
31+
# Search the test or dev requirements files, so that test and dev py packages can be excluded in the generated SBOM
32+
files=$(find . -type f -regex ".*\(test.*requirements\|requirements.*test\|dev.*requirements\|requirements.*dev\).*\.txt") && \
33+
if [ -n "$files" ]; then \
34+
cdxgen -t python -o artifactSBOM.json --spec-version 1.4 \
35+
--exclude "*{requirements,dev,test}*{requirements,dev,test}*.txt" --project-name "$(basename $OCI_PRIMARY_SOURCE_URL)" --no-recurse
36+
else \
37+
cdxgen -t python -o artifactSBOM.json --spec-version 1.4 --project-name "$(basename $OCI_PRIMARY_SOURCE_URL)" --no-recurse
38+
fi \
2239
outputArtifacts:
2340
- name: artifactSBOM
2441
type: BINARY

0 commit comments

Comments
 (0)