Skip to content

PHPC-2380: Add SBOM file and tooling to update it #1577

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jun 10, 2024

Conversation

alcaeus
Copy link
Member

@alcaeus alcaeus commented Jun 6, 2024

PHPC-2380

This PR introduces the "SBOM lite" file necessary to generate a full SBOM when releasing a new version. The SBOM file is generated from a list of purls using the silkbomb tool. The script to update the tooling is added, along with updated instructions for updating submodules.

@alcaeus alcaeus requested a review from jmikola June 6, 2024 07:38
@alcaeus alcaeus changed the title Phpc 2380 prep silk onboarding PHPC-2380: Add SBOM file and tooling to update it Jun 6, 2024
@alcaeus alcaeus changed the base branch from master to v1.19 June 6, 2024 07:38
@@ -67,3 +67,6 @@ mongodb-*tgz

# Coverage files
coverage*

# temporary purls file
/purls.txt
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noted that you only want to ignore this in the project root directory.

bundled build). When bumping the bundled version, be sure to update the version
check _and_ error message in the `pkg-config` blocks for the submodule being
updated. When updating libmongoc, be sure to update both version checks for
libmongoc and libbson.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to call this out, even though the lines are close together.

PURLS_FILE="${ROOT_DIR}/purls.txt"

LIBMONGOC_VERSION=$(cat ${ROOT_DIR}/src/LIBMONGOC_VERSION_CURRENT | tr -d '[:space:]')
LIBMONGOCRYPT_VERSION=$(cat ${ROOT_DIR}/src/LIBMONGOCRYPT_VERSION_CURRENT | tr -d '[:space:]')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume we don't need to call out that these files must be updated since the SBOM generation step follows the "Ensure version information is correct" step, which updates these.

CONTRIBUTING.md Outdated
```

### Updating libmongocrypt
This script will generate a purl file with our dependencies, then run the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you want to clarify that the purl file is temporary, since update-sbom.sh removes it after invoking Docker?

Separate question: what is needed to "have access to artifactory"? I feel like this section would benefit from some links to internal resources.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a "temporary" and removed the section about artifactory access - either it "just works" because I'm accessing it from our network or it is public - either way I don't imagine any external contributors running this kind of stuff on the regular anyways.

@alcaeus alcaeus force-pushed the phpc-2380-prep-silk-onboarding branch from 044c367 to 0c332a2 Compare June 10, 2024 07:40
@alcaeus alcaeus requested a review from jmikola June 10, 2024 07:40
@alcaeus alcaeus merged commit de60ed2 into mongodb:v1.19 Jun 10, 2024
72 of 73 checks passed
@alcaeus alcaeus deleted the phpc-2380-prep-silk-onboarding branch June 10, 2024 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants