From 53275cc678ffaa9c99a569cd6620184dcd47e5fd Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Thu, 6 Jun 2019 12:20:47 -0700 Subject: [PATCH] Introduce normalized CI environment vars: ci/env.sh (#4571) --- .buildkite/hooks/post-checkout | 2 ++ ci/affects-files.sh | 2 +- ci/channel-info.sh | 6 ++-- ci/docker-run.sh | 9 +++-- ci/env.sh | 59 +++++++++++++++++++++++++++++++ ci/is-pr.sh | 9 ----- ci/publish-book.sh | 2 +- ci/publish-crate.sh | 6 ++-- ci/publish-metrics-dashboard.sh | 2 +- ci/publish-tarball.sh | 11 +++--- ci/test-bench.sh | 4 +-- ci/test-coverage.sh | 4 +-- ci/testnet-manager.sh | 2 +- ci/upload-github-release-asset.sh | 16 +++------ scripts/coverage.sh | 4 +-- 15 files changed, 92 insertions(+), 46 deletions(-) create mode 100644 ci/env.sh delete mode 100755 ci/is-pr.sh diff --git a/.buildkite/hooks/post-checkout b/.buildkite/hooks/post-checkout index 5dde4f0dd..2e40938cd 100644 --- a/.buildkite/hooks/post-checkout +++ b/.buildkite/hooks/post-checkout @@ -1,6 +1,8 @@ CI_BUILD_START=$(date +%s) export CI_BUILD_START +source ci/env.sh + # # Kill any running docker containers, which are potentially left over from the # previous CI job diff --git a/ci/affects-files.sh b/ci/affects-files.sh index 5fad92259..e088c47d0 100755 --- a/ci/affects-files.sh +++ b/ci/affects-files.sh @@ -12,7 +12,7 @@ set -e cd "$(dirname "$0")"/.. -if ci/is-pr.sh; then +if [[ -n $CI_PULL_REQUEST ]]; then affectedFiles="$(buildkite-agent meta-data get affected_files)" echo "Affected files in this PR: $affectedFiles" diff --git a/ci/channel-info.sh b/ci/channel-info.sh index f787ea393..09a76d01c 100755 --- a/ci/channel-info.sh +++ b/ci/channel-info.sh @@ -89,11 +89,11 @@ BETA_CHANNEL_LATEST_TAG=${beta_tag:+v$beta_tag} STABLE_CHANNEL_LATEST_TAG=${stable_tag:+v$stable_tag} -if [[ $BUILDKITE_BRANCH = "$STABLE_CHANNEL" ]]; then +if [[ $CI_BRANCH = "$STABLE_CHANNEL" ]]; then CHANNEL=stable -elif [[ $BUILDKITE_BRANCH = "$EDGE_CHANNEL" ]]; then +elif [[ $CI_BRANCH = "$EDGE_CHANNEL" ]]; then CHANNEL=edge -elif [[ $BUILDKITE_BRANCH = "$BETA_CHANNEL" ]]; then +elif [[ $CI_BRANCH = "$BETA_CHANNEL" ]]; then CHANNEL=beta fi diff --git a/ci/docker-run.sh b/ci/docker-run.sh index 179014006..6d6b59400 100755 --- a/ci/docker-run.sh +++ b/ci/docker-run.sh @@ -64,11 +64,14 @@ fi ARGS+=( --env BUILDKITE --env BUILDKITE_AGENT_ACCESS_TOKEN - --env BUILDKITE_BRANCH - --env BUILDKITE_COMMIT --env BUILDKITE_JOB_ID - --env BUILDKITE_TAG --env CI + --env CI_BRANCH + --env CI_BUILD_ID + --env CI_COMMIT + --env CI_JOB_ID + --env CI_PULL_REQUEST + --env CI_REPO_SLUG --env CODECOV_TOKEN --env CRATES_IO_TOKEN ) diff --git a/ci/env.sh b/ci/env.sh new file mode 100644 index 000000000..2e73095b8 --- /dev/null +++ b/ci/env.sh @@ -0,0 +1,59 @@ +# +# Normalized CI environment variables +# +# |source| me +# + +if ${CI:-false}; then + if ${TRAVIS:-false}; then + export CI_BRANCH=$TRAVIS_BRANCH + export CI_BUILD_ID=$TRAVIS_BUILD_ID + export CI_COMMIT=$TRAVIS_COMMIT + export CI_JOB_ID=$TRAVIS_JOB_ID + if $TRAVIS_PULL_REQUEST; then + export CI_PULL_REQUEST=true + else + export CI_PULL_REQUEST= + fi + export CI_TAG=$TRAVIS_TAG + fi + if ${BUILDKITE:-false}; then + export CI_BRANCH=$BUILDKITE_BRANCH + export CI_BUILD_ID=$BUILDKITE_BUILD_ID + export CI_COMMIT=$BUILDKITE_COMMIT + export CI_JOB_ID=$BUILDKITE_JOB_ID + # The standard BUILDKITE_PULL_REQUEST environment variable is always "false" due + # to how solana-ci-gate is used to trigger PR builds rather than using the + # standard Buildkite PR trigger. + if [[ $CI_BRANCH =~ pull/* ]]; then + export CI_PULL_REQUEST=true + else + export CI_PULL_REQUEST= + fi + # TRIGGERED_BUILDKITE_TAG is a workaround to propagate BUILDKITE_TAG into + # the solana-secondary builder + if [[ -n $TRIGGERED_BUILDKITE_TAG ]]; then + export CI_TAG=$TRIGGERED_BUILDKITE_TAG + else + export CI_TAG=$BUILDKITE_TAG + fi + fi +else + export CI= + export CI_BRANCH= + export CI_BUILD_ID= + export CI_COMMIT= + export CI_JOB_ID= + export CI_PULL_REQUEST= + export CI_TAG= +fi + +cat <