Update build info for CircleCI

This commit is contained in:
Devon Mackay 2018-09-19 11:50:13 -04:00
parent 36b4d3c27d
commit f84b6511c1

View File

@ -4,11 +4,12 @@
# places them in a publically accessable static asset # places them in a publically accessable static asset
# folder # folder
source "$(dirname "${0}")"/../script/include/global_header.inc.sh #source "$(dirname "${0}")"/../script/include/global_header.inc.sh
# Config # Config
APP_NAME="ATST" APP_NAME="ATST"
BUILD_URL="https://travis-ci.org/$TRAVIS_REPO_SLUG/builds/$TRAVIS_BUILD_ID" CIRCLECI_WORKFLOW_BASEURL="https://circleci.com/workflow-run"
CIRCLECI_WORKFLOW_URL="${CIRCLECI_WORKFLOW_BASEURL}/${CIRCLE_WORKFLOW_ID}"
STATIC_DIR="./static" STATIC_DIR="./static"
echo "### Generate Build Info ###" echo "### Generate Build Info ###"
@ -16,11 +17,11 @@ echo "### Generate Build Info ###"
echo "Gathering info from git..." echo "Gathering info from git..."
COMMIT_AUTHOR=$(git log -1 --pretty=%aN) COMMIT_AUTHOR=$(git log -1 --pretty=%aN)
COMMIT_AUTHOR_EMAIL=$(git log -1 --pretty=%aE) COMMIT_AUTHOR_EMAIL=$(git log -1 --pretty=%aE)
GIT_SHA=$(git rev-parse HEAD)
# Escape all double quotes in commit message and switch newlines for \n # Escape all double quotes in commit message and switch newlines for \n
# (for JSON compatability) # (for JSON compatability)
COMMIT_MESSAGE_JSON=$(git log -1 --pretty=format:%B | sed -e 's#\([^\\]\)"#\1\\"#g' | awk 1 ORS='\\n') COMMIT_MESSAGE_JSON=$(git log -1 --pretty=format:%B | sed -e 's#\([^\\]\)"#\1\\"#g' | awk 1 ORS='\\n')
# Escape all < and > characters in commit message, insert pivotal story links, # Escape all < and > characters in commit message and trade newlines for <BR/> tags
# and trade newlines for <BR/> tags
COMMIT_MESSAGE_HTML=$(git log -1 --pretty=format:%B | sed -e 's#>#&gt;#g' | sed -e 's#<#&lt;#g' | awk 1 ORS='<BR/>') COMMIT_MESSAGE_HTML=$(git log -1 --pretty=format:%B | sed -e 's#>#&gt;#g' | sed -e 's#<#&lt;#g' | awk 1 ORS='<BR/>')
# Assemble https based git repo url # Assemble https based git repo url
@ -28,6 +29,7 @@ GIT_REPO=$(git config --get remote.origin.url | cut -d ':' -f 2)
GIT_URL="https://github.com/${GIT_REPO}" GIT_URL="https://github.com/${GIT_REPO}"
# Drop the trailing .git for generating github links # Drop the trailing .git for generating github links
GITHUB_BASE_URL="${GIT_URL%.git}" GITHUB_BASE_URL="${GIT_URL%.git}"
GITHUB_COMMIT_URL="${GITHUB_BASE_URL}/commit/${GIT_SHA}"
APP_CONTAINER_CREATE_DATE=$(date '+%Y-%m-%d') APP_CONTAINER_CREATE_DATE=$(date '+%Y-%m-%d')
APP_CONTAINER_CREATE_TIME=$(date '+%H:%M:%S') APP_CONTAINER_CREATE_TIME=$(date '+%H:%M:%S')
@ -36,19 +38,22 @@ echo "Generating public/buildinfo.json ..."
cat > ${STATIC_DIR}/buildinfo.json <<ENDJSON cat > ${STATIC_DIR}/buildinfo.json <<ENDJSON
{ {
"build_info" : { "build_info" : {
"project" : "${APP_NAME}", "project_name" : "${APP_NAME}",
"build_id" : "${TRAVIS_BUILD_ID}", "build_id" : "${CIRCLE_BUILD_NUM}",
"url" : "${BUILD_URL}" "build_url" : "${CIRCLE_BUILD_URL}",
"workflow_id" : "${CIRCLE_WORKFLOW_ID}",
"workflow_url" : "${CIRCLECI_WORKFLOW_URL}"
}, },
"app_package_info" : { "image_info" : {
"create_date" : "${APP_CONTAINER_CREATE_DATE}", "create_date" : "${APP_CONTAINER_CREATE_DATE}",
"create_time" : "${APP_CONTAINER_CREATE_TIME}" "create_time" : "${APP_CONTAINER_CREATE_TIME}"
}, },
"git_info" : { "git_info" : {
"repository" : "${GIT_URL}", "repository_url" : "${GIT_URL}",
"branch" : "${TRAVIS_BRANCH}", "branch" : "${CIRCLE_BRANCH}",
"commit" : { "commit" : {
"sha" : "${TRAVIS_COMMIT}", "sha" : "${GIT_SHA}",
"github_commit_url" : "${GITHUB_COMMIT_URL}",
"author_name" : "${COMMIT_AUTHOR}", "author_name" : "${COMMIT_AUTHOR}",
"author_email" : "${COMMIT_AUTHOR_EMAIL}", "author_email" : "${COMMIT_AUTHOR_EMAIL}",
"message" : "${COMMIT_MESSAGE_JSON}" "message" : "${COMMIT_MESSAGE_JSON}"
@ -61,7 +66,7 @@ echo "Generating public/buildinfo.html ..."
cat > ${STATIC_DIR}/buildinfo.html <<ENDHTML cat > ${STATIC_DIR}/buildinfo.html <<ENDHTML
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>${APP_NAME} build ${BUILD_NUMBER} info</TITLE> <TITLE>${APP_NAME} build ${CIRCLE_BUILD_NUM} info</TITLE>
<STYLE> <STYLE>
table { table {
display: table; display: table;
@ -85,16 +90,20 @@ cat > ${STATIC_DIR}/buildinfo.html <<ENDHTML
<TH colspan="2">BuildInfo</TH> <TH colspan="2">BuildInfo</TH>
</TR> </TR>
<TR> <TR>
<TD class="label">App Package Creation Time:</TD> <TD class="label">Container Image Creation Time:</TD>
<TD>${APP_CONTAINER_CREATE_DATE} ${APP_CONTAINER_CREATE_TIME}</TD> <TD>${APP_CONTAINER_CREATE_DATE} ${APP_CONTAINER_CREATE_TIME}</TD>
</TR> </TR>
<TR> <TR>
<TD class="label">Build Number:</TD> <TD class="label">Build Number:</TD>
<TD><A target="_blank" href="${BUILD_URL}consoleFull">${BUILD_NUMBER}</A></TD> <TD><A target="_blank" href="${CIRCLE_BUILD_URL}">${CIRCLE_BUILD_NUM}</A></TD>
</TR>
<TR>
<TD class="label">Workflow Number:</TD>
<TD><A target="_blank" href="${CIRCLECI_WORKFLOW_URL}">${CIRCLE_WORKFLOW_NUM}</A></TD>
</TR> </TR>
<TR> <TR>
<TD class="label">Commit SHA:</TD> <TD class="label">Commit SHA:</TD>
<TD><A target="_blank" href="${GITHUB_BASE_URL}/commit/${TRAVIS_COMMIT}">${TRAVIS_COMMIT}</A></TD> <TD><A target="_blank" href="${GITHUB_COMMIT_URL}">${GIT_COMMIT}</A></TD>
</TR> </TR>
<TR> <TR>
<TD class="label">Commit Author:</TD> <TD class="label">Commit Author:</TD>