Skip to content

Commit a5aadd5

Browse files
authored
CSHARP-5095: Generate ssdlc_compliance_report.md (#1337)
1 parent e74b632 commit a5aadd5

File tree

3 files changed

+139
-4
lines changed

3 files changed

+139
-4
lines changed

evergreen/evergreen.yml

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,32 @@ functions:
237237
params:
238238
file: mo-expansion.yml
239239

240+
generate-ssdlc-report:
241+
- command: shell.exec
242+
params:
243+
working_dir: "mongo-csharp-driver"
244+
env:
245+
PRODUCT_NAME: "mongo-csharp-driver"
246+
github_commit: ${github_commit}
247+
script: |
248+
${PREPARE_SHELL}
249+
./evergreen/generate-ssdlc-report.sh
250+
- command: ec2.assume_role
251+
params:
252+
role_arn: ${UPLOAD_SSDLC_RELEASE_ASSETS_ROLE_ARN}
253+
- command: s3.put
254+
params:
255+
aws_key: ${AWS_ACCESS_KEY_ID}
256+
aws_secret: ${AWS_SECRET_ACCESS_KEY}
257+
aws_session_token: ${AWS_SESSION_TOKEN}
258+
local_file: ./mongo-csharp-driver/artifacts/ssdlc/ssdlc_compliance_report.md
259+
remote_file: mongo-csharp-driver/${PACKAGE_VERSION}/ssdlc_compliance_report.md
260+
bucket: csharp-driver-release-assets
261+
region: us-west-2
262+
permissions: private
263+
content_type: text/markdown
264+
display_name: ssdlc_compliance_report.md
265+
240266
ocsp-bootstrap-mongo-orchestration:
241267
- command: shell.exec
242268
params:
@@ -877,7 +903,7 @@ functions:
877903
params:
878904
key_id: ${papertrail_key_id}
879905
secret_key: ${papertrail_secret_key}
880-
product: ${PRODUCT_NAME}
906+
product: "mongo-csharp-driver"
881907
version: ${PACKAGE_VERSION}
882908
filenames:
883909
- "mongo-csharp-driver/artifacts/nuget/MongoDB.Bson.${PACKAGE_VERSION}.nupkg"
@@ -1818,9 +1844,6 @@ tasks:
18181844
vars:
18191845
PACKAGES_SOURCE: "https://api.nuget.org/v3/index.json"
18201846
PACKAGES_SOURCE_KEY: ${nuget_api_key}
1821-
- func: trace-artifacts
1822-
vars:
1823-
PRODUCT_NAME: "mongo-csharp-driver"
18241847

18251848
- name: push-packages-myget
18261849
commands:
@@ -1837,6 +1860,12 @@ tasks:
18371860
- func: build-apidocs
18381861
- func: upload-apidocs
18391862

1863+
- name: generate-ssdlc-reports
1864+
commands:
1865+
- func: download-packages
1866+
- func: trace-artifacts
1867+
- func: generate-ssdlc-report
1868+
18401869
- name: validate-apidocs
18411870
commands:
18421871
- func: install-dotnet
@@ -2691,3 +2720,15 @@ buildvariants:
26912720
- name: build-packages
26922721
variant: ".build-packages"
26932722
## add dependency onto packages smoke test once it implemented
2723+
2724+
- matrix_name: ssdlc-reports
2725+
matrix_spec:
2726+
os: "ubuntu-2004"
2727+
display_name: "SSDLC Reports"
2728+
tags: ["release-tag"]
2729+
tasks:
2730+
- name: generate-ssdlc-reports
2731+
git_tag_only: true
2732+
depends_on:
2733+
- name: push-packages-nuget
2734+
variant: ".push-packages"

evergreen/generate-ssdlc-report.sh

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env bash
2+
set -o errexit # Exit the script with error if any of the commands fail
3+
4+
# Environment variables used as input:
5+
# PRODUCT_NAME
6+
# PACKAGE_VERSION
7+
# github_commit
8+
9+
echo "$PRODUCT_NAME"
10+
echo "$PACKAGE_VERSION"
11+
echo "$github_commit"
12+
13+
echo "Creating SSDLC reports"
14+
15+
declare -r SSDLC_PATH="./artifacts/ssdlc"
16+
mkdir -p "${SSDLC_PATH}"
17+
18+
echo "Creating SSDLC compliance report"
19+
declare -r TEMPLATE_SSDLC_REPORT_PATH="./evergreen/template_ssdlc_compliance_report.md"
20+
declare -r SSDLC_REPORT_PATH="${SSDLC_PATH}/ssdlc_compliance_report.md"
21+
cp "${TEMPLATE_SSDLC_REPORT_PATH}" "${SSDLC_REPORT_PATH}"
22+
23+
declare -a SED_EDIT_IN_PLACE_OPTION
24+
if [[ "$OSTYPE" == "darwin"* ]]; then
25+
SED_EDIT_IN_PLACE_OPTION=(-i '')
26+
else
27+
SED_EDIT_IN_PLACE_OPTION=(-i)
28+
fi
29+
sed "${SED_EDIT_IN_PLACE_OPTION[@]}" \
30+
-e "s/\${PRODUCT_NAME}/${PRODUCT_NAME}/g" \
31+
-e "s/\${PACKAGE_VERSION}/$PACKAGE_VERSION/g" \
32+
-e "s/\${github_commit}/$github_commit/g" \
33+
-e "s/\${REPORT_DATE_UTC}/$(date -u +%Y-%m-%d)/g" \
34+
"${SSDLC_REPORT_PATH}"
35+
ls "${SSDLC_REPORT_PATH}"
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# ${PRODUCT_NAME} SSDLC compliance report
2+
3+
This report is available
4+
<a href=https://us-west-2.console.aws.amazon.com/s3/object/csharp-driver-release-assets?region=us-west-2&bucketType=general&prefix=${PRODUCT_NAME}/${PACKAGE_VERSION}/ssdlc_compliance_report.md>here</a>.
5+
6+
<table>
7+
<tr>
8+
<th>Product name</th>
9+
<td><a href="https://github.com/mongodb/mongo-csharp-driver">${PRODUCT_NAME}</a></td>
10+
</tr>
11+
<tr>
12+
<th>Product version</th>
13+
<td>${PACKAGE_VERSION}</td>
14+
</tr>
15+
<tr>
16+
<th>Report date, UTC</th>
17+
<td>${REPORT_DATE_UTC}</td>
18+
</tr>
19+
</table>
20+
21+
## Release creator
22+
23+
This information is available in multiple ways:
24+
25+
<table>
26+
<tr>
27+
<th>Evergreen</th>
28+
<td>
29+
See the "Submitted by" field in <a href="https://spruce.mongodb.com/version/dot_net_driver_v${PACKAGE_VERSION}_${github_commit}">Evergreen release patch</a>.
30+
</td>
31+
</tr>
32+
<tr>
33+
<th>Papertrail</th>
34+
<td>
35+
Refer to data in Papertrail. There is currently no official way to serve that data.
36+
</td>
37+
</tr>
38+
</table>
39+
40+
## Process document
41+
42+
Blocked on <https://jira.mongodb.org/browse/CSHARP-5047>.
43+
44+
The MongoDB SSDLC policy is available at
45+
<https://docs.google.com/document/d/1u0m4Kj2Ny30zU74KoEFCN4L6D_FbEYCaJ3CQdCYXTMc>.
46+
47+
## Third-darty dependency information
48+
49+
There are no dependencies to report vulnerabilities of.
50+
Our [SBOM](https://docs.devprod.prod.corp.mongodb.com/mms/python/src/sbom/silkbomb/docs/CYCLONEDX/) lite
51+
is <https://github.com/mongodb/mongo-csharp-driver/blob/v${PACKAGE_VERSION}/sbom.json>.
52+
53+
## Static analysis findings
54+
55+
Coverity static analysis report is available <a href="https://coverity.corp.mongodb.com/login">here</a>, under mongodb-csharp-driver project.
56+
57+
## Signature information
58+
59+
Blocked on <https://jira.mongodb.org/browse/CSHARP-3050>.

0 commit comments

Comments
 (0)