def downloadPrevious(title) { def vaultSecret = 'secret/gce/elastic-bekitzur/service-account/kibana' withGcpServiceAccount.fromVaultSecret(vaultSecret, 'value') { kibanaPipeline.bash(''' gsutil -m cp -r gs://elastic-bekitzur-kibana-coverage-live/previous_pointer/previous.txt . || echo "### Previous Pointer NOT FOUND?" if [ -e ./previous.txt ]; then mv previous.txt downloaded_previous.txt echo "### downloaded_previous.txt" cat downloaded_previous.txt fi ''', title) def previous = sh(script: 'cat downloaded_previous.txt', label: '### Capture Previous Sha', returnStdout: true).trim() return previous } } def uploadPrevious(title) { def vaultSecret = 'secret/gce/elastic-bekitzur/service-account/kibana' withGcpServiceAccount.fromVaultSecret(vaultSecret, 'value') { kibanaPipeline.bash(''' collectPrevious() { PREVIOUS=$(git log --pretty=format:%h -1) echo "### PREVIOUS: ${PREVIOUS}" echo $PREVIOUS > previous.txt } collectPrevious gsutil cp previous.txt gs://elastic-bekitzur-kibana-coverage-live/previous_pointer/ ''', title) } } def uploadCoverageStaticSite(timestamp) { def uploadPrefix = "gs://elastic-bekitzur-kibana-coverage-live/" def uploadPrefixWithTimeStamp = "${uploadPrefix}${timestamp}/" uploadBaseWebsiteFiles(uploadPrefix) uploadCoverageHtmls(uploadPrefixWithTimeStamp) } def uploadBaseWebsiteFiles(prefix) { [ 'src/dev/code_coverage/www/index.html', 'src/dev/code_coverage/www/404.html' ].each { uploadWithVault(prefix, it) } } def uploadCoverageHtmls(prefix) { [ 'target/kibana-coverage/functional-combined', 'target/kibana-coverage/jest-combined', ].each { uploadWithVault(prefix, it) } } def uploadWithVault(prefix, path) { def vaultSecret = 'secret/gce/elastic-bekitzur/service-account/kibana' withGcpServiceAccount.fromVaultSecret(vaultSecret, 'value') { kibanaPipeline.bash(""" gsutil -m cp -r -a public-read -z js,css,html ${path} '${prefix}' """, "### Upload files to GCS with vault, path: ${path}") } } def prokLinks(title) { kibanaPipeline.bash(''' cat << EOF > src/dev/code_coverage/www/index_partial_2.html Latest Jest Latest FTR Use Kibana Stats to mine coverage data Dashboard
Use Kibana Stats to mine coverage data
Dashboard