From 1b2d0f062facf01236344e15e1f201c7150d42aa Mon Sep 17 00:00:00 2001 From: Valentin Kovalenko Date: Fri, 28 Jun 2024 21:06:37 -0600 Subject: [PATCH 1/2] Fix for: Include links to the Evergreen build and to the driver security testing summary in the SSDLC report JAVA-5500 --- .evergreen/.evg.yml | 2 -- .evergreen/ssdlc-report.sh | 40 +++++++++++++++++++++++++------------- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/.evergreen/.evg.yml b/.evergreen/.evg.yml index 67b27964c41..c0bceb90c70 100644 --- a/.evergreen/.evg.yml +++ b/.evergreen/.evg.yml @@ -150,8 +150,6 @@ functions: env: PRODUCT_NAME: ${product_name} PRODUCT_VERSION: ${product_version} - PRODUCT_RELEASE_CREATOR: ${author} - EVERGREEN_VERSION_ID: ${version_id} script: .evergreen/ssdlc-report.sh - command: ec2.assume_role params: diff --git a/.evergreen/ssdlc-report.sh b/.evergreen/ssdlc-report.sh index 574cce48b74..f38482b2567 100755 --- a/.evergreen/ssdlc-report.sh +++ b/.evergreen/ssdlc-report.sh @@ -5,8 +5,6 @@ set -eu # Supported/used environment variables: # PRODUCT_NAME # PRODUCT_VERSION -# PRODUCT_RELEASE_CREATOR -# EVERGREEN_VERSION_ID if [ -z "${PRODUCT_NAME}" ]; then printf "\nPRODUCT_NAME must be set to a non-empty string\n" @@ -16,14 +14,6 @@ if [ -z "${PRODUCT_VERSION}" ]; then printf "\nPRODUCT_VERSION must be set to a non-empty string\n" exit 1 fi -if [ -z "${PRODUCT_RELEASE_CREATOR}" ]; then - printf "\PRODUCT_RELEASE_CREATOR must be set to a non-empty string\n" - exit 1 -fi -if [ -z "${EVERGREEN_VERSION_ID}" ]; then - printf "\EVERGREEN_VERSION_ID must be set to a non-empty string\n" - exit 1 -fi ############################################ # Main Program # @@ -34,14 +24,38 @@ source "${RELATIVE_DIR_PATH}/javaConfig.bash" printf "\nCreating SSDLC reports\n" printf "\nProduct name: %s\n" "${PRODUCT_NAME}" printf "\nProduct version: %s\n" "${PRODUCT_VERSION}" -printf "\nProduct release creator: %s\n" "${PRODUCT_RELEASE_CREATOR}" -declare -r EVERGREEN_BUILD_URL="https://spruce.mongodb.com/version/${EVERGREEN_VERSION_ID}" -printf "\nEvergreen build URL: %s\n" "${EVERGREEN_BUILD_URL}" + declare -r SSDLC_PATH="${RELATIVE_DIR_PATH}/../build/ssdlc" declare -r SSDLC_STATIC_ANALYSIS_REPORTS_PATH="${SSDLC_PATH}/static-analysis-reports" mkdir "${SSDLC_PATH}" mkdir "${SSDLC_STATIC_ANALYSIS_REPORTS_PATH}" +printf "\nVAKOTODO git version: %s\n" "$(git --version)" +declare -r EVERGREEN_PROJECT_NAME_PREFIX="${PRODUCT_NAME//-/_}" +declare -r EVERGREEN_BUILD_URL_PREFIX="https://spruce.mongodb.com/version" +declare -r GIT_TAG="r${PRODUCT_VERSION}" +GIT_COMMIT_HASH="$(git rev-list --ignore-missing -n 1 "${GIT_TAG}")" +set +e + GIT_BRANCH_MASTER="$(git branch -a --omit-empty --contains "${GIT_TAG}" | grep 'master$')" + GIT_BRANCH_PATCH="$(git branch -a --omit-empty --contains "${GIT_TAG}" | grep '\.x$')" +set -e +if [ -n "${GIT_BRANCH_MASTER}" ]; then + declare -r EVERGREEN_BUILD_URL="${EVERGREEN_BUILD_URL_PREFIX}/${EVERGREEN_PROJECT_NAME_PREFIX}_${GIT_COMMIT_HASH}" +elif [ -n "${GIT_BRANCH_PATCH}" ]; then + # strip out the patch version + declare -r EVERGREEN_PROJECT_NAME_SUFFIX="${PRODUCT_VERSION%.*}" + declare -r EVERGREEN_BUILD_URL="${EVERGREEN_BUILD_URL_PREFIX}/${EVERGREEN_PROJECT_NAME_PREFIX}_${EVERGREEN_PROJECT_NAME_SUFFIX}_${GIT_COMMIT_HASH}" +elif [[ "${PRODUCT_NAME}" == *'-snapshot' ]]; then + declare -r EVERGREEN_BUILD_URL="cannot-compute-evergreen-url-for-snapshot-builds" +else + printf "\nFailed to compute EVERGREEN_BUILD_URL\n" + exit 1 +fi +printf "\nEvergreen build URL: %s\n" "${EVERGREEN_BUILD_URL}" + +PRODUCT_RELEASE_CREATOR="$(git log --ignore-missing "${GIT_TAG}"^.."${GIT_TAG}" --simplify-by-decoration --pretty='format:%aN')" +printf "\nProduct release creator: %s\n" "${PRODUCT_RELEASE_CREATOR}" + printf "\nCreating SpotBugs SARIF reports\n" ./gradlew -version set +e From 3e43dff5b0ab826e64650083c0bcc30a97043ed2 Mon Sep 17 00:00:00 2001 From: Valentin Kovalenko Date: Tue, 2 Jul 2024 09:41:48 -0600 Subject: [PATCH 2/2] Make it work for Evergreen snapshot builds JAVA-5500 --- .evergreen/.evg.yml | 1 + .evergreen/ssdlc-report.sh | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.evergreen/.evg.yml b/.evergreen/.evg.yml index c0bceb90c70..046a54907f9 100644 --- a/.evergreen/.evg.yml +++ b/.evergreen/.evg.yml @@ -150,6 +150,7 @@ functions: env: PRODUCT_NAME: ${product_name} PRODUCT_VERSION: ${product_version} + EVERGREEN_VERSION_ID: ${version_id} script: .evergreen/ssdlc-report.sh - command: ec2.assume_role params: diff --git a/.evergreen/ssdlc-report.sh b/.evergreen/ssdlc-report.sh index f38482b2567..2958edb4327 100755 --- a/.evergreen/ssdlc-report.sh +++ b/.evergreen/ssdlc-report.sh @@ -5,6 +5,7 @@ set -eu # Supported/used environment variables: # PRODUCT_NAME # PRODUCT_VERSION +# EVERGREEN_VERSION_ID if [ -z "${PRODUCT_NAME}" ]; then printf "\nPRODUCT_NAME must be set to a non-empty string\n" @@ -14,6 +15,10 @@ if [ -z "${PRODUCT_VERSION}" ]; then printf "\nPRODUCT_VERSION must be set to a non-empty string\n" exit 1 fi +if [ -z "${EVERGREEN_VERSION_ID}" ]; then + printf "\EVERGREEN_VERSION_ID must be set to a non-empty string\n" + exit 1 +fi ############################################ # Main Program # @@ -30,14 +35,13 @@ declare -r SSDLC_STATIC_ANALYSIS_REPORTS_PATH="${SSDLC_PATH}/static-analysis-rep mkdir "${SSDLC_PATH}" mkdir "${SSDLC_STATIC_ANALYSIS_REPORTS_PATH}" -printf "\nVAKOTODO git version: %s\n" "$(git --version)" declare -r EVERGREEN_PROJECT_NAME_PREFIX="${PRODUCT_NAME//-/_}" declare -r EVERGREEN_BUILD_URL_PREFIX="https://spruce.mongodb.com/version" declare -r GIT_TAG="r${PRODUCT_VERSION}" GIT_COMMIT_HASH="$(git rev-list --ignore-missing -n 1 "${GIT_TAG}")" set +e - GIT_BRANCH_MASTER="$(git branch -a --omit-empty --contains "${GIT_TAG}" | grep 'master$')" - GIT_BRANCH_PATCH="$(git branch -a --omit-empty --contains "${GIT_TAG}" | grep '\.x$')" + GIT_BRANCH_MASTER="$(git branch -a --contains "${GIT_TAG}" | grep 'master$')" + GIT_BRANCH_PATCH="$(git branch -a --contains "${GIT_TAG}" | grep '\.x$')" set -e if [ -n "${GIT_BRANCH_MASTER}" ]; then declare -r EVERGREEN_BUILD_URL="${EVERGREEN_BUILD_URL_PREFIX}/${EVERGREEN_PROJECT_NAME_PREFIX}_${GIT_COMMIT_HASH}" @@ -46,7 +50,7 @@ elif [ -n "${GIT_BRANCH_PATCH}" ]; then declare -r EVERGREEN_PROJECT_NAME_SUFFIX="${PRODUCT_VERSION%.*}" declare -r EVERGREEN_BUILD_URL="${EVERGREEN_BUILD_URL_PREFIX}/${EVERGREEN_PROJECT_NAME_PREFIX}_${EVERGREEN_PROJECT_NAME_SUFFIX}_${GIT_COMMIT_HASH}" elif [[ "${PRODUCT_NAME}" == *'-snapshot' ]]; then - declare -r EVERGREEN_BUILD_URL="cannot-compute-evergreen-url-for-snapshot-builds" + declare -r EVERGREEN_BUILD_URL="${EVERGREEN_BUILD_URL_PREFIX}/${EVERGREEN_VERSION_ID}" else printf "\nFailed to compute EVERGREEN_BUILD_URL\n" exit 1