Skip to content

SQL-2998, SQL-2807: Update SBOM push/pull using Silkbomb and other common SSDLC functionality via common-test-infra#385

Open
mattChiaravalloti wants to merge 8 commits into
mongodb:masterfrom
mattChiaravalloti:SQL-2998
Open

SQL-2998, SQL-2807: Update SBOM push/pull using Silkbomb and other common SSDLC functionality via common-test-infra#385
mattChiaravalloti wants to merge 8 commits into
mongodb:masterfrom
mattChiaravalloti:SQL-2998

Conversation

@mattChiaravalloti
Copy link
Copy Markdown
Collaborator

This PR updates the evergreen configs to remove many SSDLC-related functions in favor of common versions in sql-engines-common-test-infra. The primary goal was to update augment sbom to use new logic described in the ticket; when that functionality was added to common-test-infra, it could not be used here until the entire project was set up to use common-test-infra for all SSDLC functions. That is why this PR includes updates to all SSDLC functions.

@mattChiaravalloti mattChiaravalloti requested a review from a team as a code owner February 10, 2026 15:50
@mattChiaravalloti mattChiaravalloti changed the title SQL-2998: Update SBOM push/pull using Silkbomb and other common SSDLC functionality via common-test-infra SQL-2998, SQL-2807: Update SBOM push/pull using Silkbomb and other common SSDLC functionality via common-test-infra Feb 10, 2026
Copy link
Copy Markdown
Collaborator

@nbagnard nbagnard left a comment

Choose a reason for hiding this comment

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

Pretty good cleaning work making this all more generic!
I just noticed a few things to adjust and/or where the shared test infra logic could be used.

Comment thread .evg.yml
exec_timeout_secs: 3600 # 1h
commands:
- func: "static code analysis"
- func: "generate static code analysis"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

You'll need to add a variable for the ruleset to use in the common script.
For most of our projects we use semgrep --config p/rust because those are Rust projects.
For the JDBC driver, we need to use semgrep --config p/java.

Right now, it is not doing anything. If you look at the verbose logs: "Ran 9 rules on 0 files: 0 findings."

You'll also want to add a variable for setting a different value for --exclude. Otherwise, all projects will exclude the "integration_test". For the JDBC driver, we exclude incorrectly "vendor" which is a copy-pasting left over from the BIC. The default exclusion list for Java is enough because there is no vulnerability reported. Which means that we could forgo the --exclude option altogether. We can also set it to "--exclude demo" because demo is an internal helper.

Comment thread .evg.yml
put_to_bucket: "evg-bucket-mongo-jdbc-driver"
published_sbom_path: ${working_dir}/${SBOM_FILENAME}
published_sarif_path: ${working_dir}/${STATIC_CODE_ANALYSIS_NAME}
compliance_report_template_path: ${PROJECT_DIRECTORY}/resources/release/mongo_jdbc_compliance_report_template.md
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think you can use the generic compliance report template: evergreen/resources/compliance_report_template.md

This way, you will have the "Compliance Report Created Date" info added. I saw no other difference.
You will need to add signing_section_bookmark: "verify-integrity-of-mongodb-jdbc-driver-packages" and repo_name: "mongo-jdbc-driver".
This will get the correct link to the README section related to verify the integrity of the artifacts.

Comment thread .evg.yml
get_from_bucket: "evg-bucket-mongo-jdbc-driver"
local_file_path: ${SSDLC_DIR}/${STATIC_CODE_ANALYSIS_NAME}
published_file_path: ${working_dir}/${STATIC_CODE_ANALYSIS_NAME}
- func: "generate compliance report"
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Same changes than for the release task above apply here.

Comment thread .evg.yml
permissions: public-read

"scan sbom":
"scan sbom for jdbc":
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

You can use scan_sbom in the shared test infra repo. All projects are using Grype and the failure threshold is the same.

Copy link
Copy Markdown
Member

@bucaojit bucaojit left a comment

Choose a reason for hiding this comment

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

Nice work cleaning up the evergreen script.

The changes look good, I agree with Natacha's comments.

@nbagnard
Copy link
Copy Markdown
Collaborator

Note: I am reverting the config file name until this PR is back. It otherwise will block the release process.

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.

3 participants