From b0d664ccb2448ac663ee500a47ba613e932d0e49 Mon Sep 17 00:00:00 2001 From: Rose Judge Date: Wed, 1 May 2024 13:49:14 -0700 Subject: [PATCH 1/2] Add general software profile example This commit adds the software profile example drawio file and screenshot of the drawio diagram. The hope is that other profiles will build on top of this core example and we can generate SPDX docs for these examples to make adopting 3.0 easier. Signed-off-by: Rose Judge --- software/README.md | 2 + software/example13/README.md | 7 + software/example13/example-13.png | Bin 0 -> 111435 bytes .../example13/spdx-3.0/example-13-spdx-3.json | 153 ++++ software/example13/spdx-3.0/example-13.drawio | 845 ++++++++++++++++++ 5 files changed, 1007 insertions(+) create mode 100644 software/example13/README.md create mode 100644 software/example13/example-13.png create mode 100644 software/example13/spdx-3.0/example-13-spdx-3.json create mode 100644 software/example13/spdx-3.0/example-13.drawio diff --git a/software/README.md b/software/README.md index 45ee36b..baa86f1 100644 --- a/software/README.md +++ b/software/README.md @@ -30,4 +30,6 @@ Each directory contains build metadata which is used to create the build artifac | 9 | 2 Java files | generated from Gradle | 1 document |a copy of the [App-BOM-ination SPDX example](https://github.com/yevster/App-BOM-ination) contributed by @yevster for the SPDX spec version 2.0 docfest | | 10 | 1 Python file | python package | 1 document | packaged using the [instructions from python.org](https://packaging.python.org/en/latest/tutorials/packaging-projects/) | | 11 | 1 Rust file | compiled with Cargo | 1 document | SBOM describing both source and artifact, related with GENERATED_FROM | +| 12 | 1 Ruby library | built using `bundle` | 1 document | SBOM describing Ruby library packaged in a gem | +| 13 | Bundled app with a package and container | No compiling - hypothetical example | Documents in progress | SBOM describing a hypothetical "Acme Aplication" | diff --git a/software/example13/README.md b/software/example13/README.md new file mode 100644 index 0000000..26acfa5 --- /dev/null +++ b/software/example13/README.md @@ -0,0 +1,7 @@ +# Example 13 + +## Description + +This is a hypothetical example of a "simple" piece of software, Acme Application version 1.3. This example shows what an SPDX-3.0 document looks like for said Acme Application. The idea for this example is that other profiles will be able to build on top of this and demonstrate how all the profiles can work in harmony. + +In this specific example, Acme Application is a bundled and distributed piece of software. When Acme Application is run, it pulls in the `alpine:latest` container image which runs in parallel to the `npm-elliptic` library that is packaged and distributed within the Acme Application binary. Among others not depicted for the sake of simplicity, `openssl` is a package included in the `alpine:latest` container image. The example-13 SBOM describes the Acme Application top level piece of software. diff --git a/software/example13/example-13.png b/software/example13/example-13.png new file mode 100644 index 0000000000000000000000000000000000000000..02141e947f0f330151783d440a34523fde5efe73 GIT binary patch literal 111435 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 74b7c5f11f5044470b0b1a9bb104f971ccb074c8 Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Mon, 10 Jun 2024 13:31:46 -0600 Subject: [PATCH 2/2] github actions: Fix workflow Fixes the github actions workflow to correctly validates SPDX 2 and SPDX 3 documents, and fixes example-13 to conform to the validation Signed-off-by: Joshua Watt --- .github/workflows/pull_request.yml | 48 +++++++++++++++++-- .../example13/spdx-3.0/example-13-spdx-3.json | 20 ++++---- 2 files changed, 53 insertions(+), 15 deletions(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 82ffa6e..43a9474 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -1,18 +1,56 @@ name: SPDX validation -on: pull_request +on: + - pull_request + - push jobs: SPDX_Validation: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: Setup + + - name: Look for files that are not checked + run: | + find . \( -name '*.spdx' -o -name '*.json' \) \ + -not -path './presentations/*' \ + -not -path './tools-java/*' \ + -not -path '*/spdx2.2/*' \ + -not -path '*/spdx2.3/*' \ + -not -path '*/spdx-3.0/*' | tee flist.txt + + test "$(cat flist.txt | wc -l)" = "0" + + - name: Update apt + run: | + sudo apt update -y + + - name: Setup Java tools run: | sudo apt install -y default-jdk maven git clone https://github.com/spdx/tools-java.git && cd tools-java export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") mvn clean install && cd .. - - - name: Validate SPDX Documents + + - name: Setup Python tools + run: | + python3 -m pip install -U pip + python3 -m pip install \ + check-jsonschema \ + pyshacl + + - name: Validate SPDX 2.2 & SPDX 2.3 Documents run: | - find . -name *.spdx -o -name *.json -exec echo {} \; -exec java -jar tools-java/target/tools-java-*-jar-with-dependencies.jar Verify {} \; + find . \( -path '*/spdx2.2/*' -o -path '*/spdx2.3/*' \) \( -name *.spdx -o -name *.json \) \ + -exec echo {} \; \ + -exec java -jar tools-java/target/tools-java-*-jar-with-dependencies.jar Verify {} \; + + - name: Validate SPDX 3.0 Documents + run: | + SPDX30_SCHEMA_URL="https://spdx.org/schema/3.0.0/spdx-json-schema.json" + SPDX30_SHACL_URL="https://spdx.org/rdf/3.0.0/spdx-model.ttl" + + for f in $(find . -type f -path '*/spdx-3.0/*.json'); do + echo "Checking $f..." + check-jsonschema -v --schemafile $SPDX30_SCHEMA_URL $f + pyshacl -s $SPDX30_SHACL_URL -e $SPDX30_SHACL_URL $f + done diff --git a/software/example13/spdx-3.0/example-13-spdx-3.json b/software/example13/spdx-3.0/example-13-spdx-3.json index fe2b391..225f23c 100644 --- a/software/example13/spdx-3.0/example-13-spdx-3.json +++ b/software/example13/spdx-3.0/example-13-spdx-3.json @@ -6,7 +6,7 @@ "spdxId": "urn:jane-doe-1@acme.com-4fe40e24-20e3-11ee-be56-0242ac120002", "creationInfo": "_:creationinfo", "name": "Application Owner Jane Doe", - "externalIdentifiers": [ + "externalIdentifier": [ { "type": "ExternalIdentifier", "externalIdentifierType": "email", @@ -25,11 +25,11 @@ "spdxId": "urn:github.com-indutny-c4fe40e24-20e3-11ee-be56-0242ac120002", "creationInfo": "_:creationinfo", "name": "Fedor Indutny", - "externalIdentifiers": [ + "externalIdentifier": [ { "type": "ExternalIdentifier", "externalIdentifierType": "other", - "identifierLocator": "https://github.com/indutny" + "identifier": "https://github.com/indutny" } ] }, @@ -91,11 +91,11 @@ "software_packageVersion": "6.5.2", "suppliedBy": "urn:github.com-indutny-c4fe40e24-20e3-11ee-be56-0242ac120002", "software_primaryPurpose": "library", - "externalIdentifiers": [ + "externalIdentifier": [ { "type": "ExternalIdentifier", "externalIdentifierType": "other", - "identifierLocator": "https://github.com/indutny/elliptic/releases/tag/v6.5.2" + "identifier": "https://github.com/indutny/elliptic/releases/tag/v6.5.2" } ] @@ -122,7 +122,7 @@ "spdxId": "urn:acme-relationship-1-4fe40e24-20e3-11ee-be56-0242ac120002", "creationInfo": "_:creationinfo", "from": "urn:product-acme-application-1.3-4fe40e24-20e3-11ee-be56-0242ac120002", - "to": "urn:jane-doe-1@acme.com-4fe40e24-20e3-11ee-be56-0242ac120002", + "to": ["urn:jane-doe-1@acme.com-4fe40e24-20e3-11ee-be56-0242ac120002"], "relationshipType": "availableFrom" }, { @@ -130,7 +130,7 @@ "spdxId": "urn:acme-relationship-2-4fe40e24-20e3-11ee-be56-0242ac120002", "creationInfo": "_:creationinfo", "from": "urn:product-acme-application-1.3-4fe40e24-20e3-11ee-be56-0242ac120002", - "to": "urn:npm-elliptic-6.5.2-4fe40e24-20e3-11ee-be56-0242ac120002", + "to": ["urn:npm-elliptic-6.5.2-4fe40e24-20e3-11ee-be56-0242ac120002"], "relationshipType": "contains" }, { @@ -138,15 +138,15 @@ "spdxId": "urn:acme-relationship-3-4fe40e24-20e3-11ee-be56-0242ac120002", "creationInfo": "_:creationinfo", "from": "urn:product-acme-application-1.3-4fe40e24-20e3-11ee-be56-0242ac120002", - "to": "urn:container-alpine-latest-sha256:69665d02cb32192e52e07644d76bc6f25abeb5410edc1c7a81a10ba3f0efb90a-4fe40e24-20e3-11ee-be56-0242ac120002", - "relationshipType": "depends_on" + "to": ["urn:container-alpine-latest-sha256:69665d02cb32192e52e07644d76bc6f25abeb5410edc1c7a81a10ba3f0efb90a-4fe40e24-20e3-11ee-be56-0242ac120002"], + "relationshipType": "dependsOn" }, { "type": "Relationship", "spdxId": "urn:acme-relationship-4-4fe40e24-20e3-11ee-be56-0242ac120002", "creationInfo": "_:creationinfo", "from": "urn:container-alpine-latest-sha256:69665d02cb32192e52e07644d76bc6f25abeb5410edc1c7a81a10ba3f0efb90a-4fe40e24-20e3-11ee-be56-0242ac120002", - "to": "urn:openssl-3.0.4-4fe40e24-20e3-11ee-be56-0242ac120002", + "to": ["urn:openssl-3.0.4-4fe40e24-20e3-11ee-be56-0242ac120002"], "relationshipType": "contains" } ]