On Mon, Oct 15, 2018 at 03:12:00AM -0700, Johannes Schindelin via GitGitGadget
wrote:
> diff --git a/ci/lib.sh b/ci/lib.sh
> index 06970f7213..8532555b4e 100755
> --- a/ci/lib.sh
> +++ b/ci/lib.sh
> @@ -1,5 +1,26 @@
> # Library of functions shared by all CI scripts
>
> +if test true = "$TRAVIS"
> +then
> + # We are running within Travis CI
> + CI_BRANCH="$TRAVIS_BRANCH"
> + CI_COMMIT="$TRAVIS_COMMIT"
> + CI_JOB_ID="$TRAVIS_JOB_ID"
> + CI_JOB_NUMBER="$TRAVIS_JOB_NUMBER"
> + CI_OS_NAME="$TRAVIS_OS_NAME"
> + CI_REPO_SLUG="$TRAVIS_REPO_SLUG"
> +
> + cache_dir="$HOME/travis-cache"
> +
> + url_for_job_id () {
> + echo "https://travis-ci.org/$CI_REPO_SLUG/jobs/$1"
> + }
> +
> + BREW_INSTALL_PACKAGES="git-lfs gettext"
> + export GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
> + export GIT_TEST_OPTS="--verbose-log -x --immediate"
> +fi
Please set all these variables ...
> +
> skip_branch_tip_with_tag () {
> # Sometimes, a branch is pushed at the same time the tag that points
> # at the same commit as the tip of the branch is pushed, and building
> @@ -13,10 +34,10 @@ skip_branch_tip_with_tag () {
> # we can skip the build because we won't be skipping a build
> # of a tag.
>
> - if TAG=$(git describe --exact-match "$TRAVIS_BRANCH" 2>/dev/null) &&
> - test "$TAG" != "$TRAVIS_BRANCH"
> + if TAG=$(git describe --exact-match "$CI_BRANCH" 2>/dev/null) &&
> + test "$TAG" != "$CI_BRANCH"
> then
> - echo "$(tput setaf 2)Tip of $TRAVIS_BRANCH is exactly at
> $TAG$(tput sgr0)"
> + echo "$(tput setaf 2)Tip of $CI_BRANCH is exactly at $TAG$(tput
> sgr0)"
> exit 0
> fi
> }
> @@ -25,7 +46,7 @@ skip_branch_tip_with_tag () {
> # job if we encounter the same tree again and can provide a useful info
> # message.
> save_good_tree () {
> - echo "$(git rev-parse $TRAVIS_COMMIT^{tree}) $TRAVIS_COMMIT
> $TRAVIS_JOB_NUMBER $TRAVIS_JOB_ID" >>"$good_trees_file"
> + echo "$(git rev-parse $CI_COMMIT^{tree}) $CI_COMMIT $CI_JOB_NUMBER
> $CI_JOB_ID" >>"$good_trees_file"
> # limit the file size
> tail -1000 "$good_trees_file" >"$good_trees_file".tmp
> mv "$good_trees_file".tmp "$good_trees_file"
> @@ -35,7 +56,7 @@ save_good_tree () {
> # successfully before (e.g. because the branch got rebased, changing only
> # the commit messages).
> skip_good_tree () {
> - if ! good_tree_info="$(grep "^$(git rev-parse $TRAVIS_COMMIT^{tree}) "
> "$good_trees_file")"
> + if ! good_tree_info="$(grep "^$(git rev-parse $CI_COMMIT^{tree}) "
> "$good_trees_file")"
> then
> # Haven't seen this tree yet, or no cached good trees file yet.
> # Continue the build job.
> @@ -45,18 +66,18 @@ skip_good_tree () {
> echo "$good_tree_info" | {
> read tree prev_good_commit prev_good_job_number prev_good_job_id
>
> - if test "$TRAVIS_JOB_ID" = "$prev_good_job_id"
> + if test "$CI_JOB_ID" = "$prev_good_job_id"
> then
> cat <<-EOF
> - $(tput setaf 2)Skipping build job for commit
> $TRAVIS_COMMIT.$(tput sgr0)
> + $(tput setaf 2)Skipping build job for commit
> $CI_COMMIT.$(tput sgr0)
> This commit has already been built and tested
> successfully by this build job.
> To force a re-build delete the branch's cache and then
> hit 'Restart job'.
> EOF
> else
> cat <<-EOF
> - $(tput setaf 2)Skipping build job for commit
> $TRAVIS_COMMIT.$(tput sgr0)
> + $(tput setaf 2)Skipping build job for commit
> $CI_COMMIT.$(tput sgr0)
> This commit's tree has already been built and tested
> successfully in build job $prev_good_job_number for commit $prev_good_commit.
> - The log of that build job is available at
> https://travis-ci.org/$TRAVIS_REPO_SLUG/jobs/$prev_good_job_id
> + The log of that build job is available at
> $(url_for_job_id $prev_good_job_id)
> To force a re-build delete the branch's cache and then
> hit 'Restart job'.
> EOF
> fi
> @@ -81,7 +102,6 @@ check_unignored_build_artifacts ()
> # and installing dependencies.
> set -ex
... after we turn on 'set -x', so the variables' values will be
visible in the logs.
(Or move this 'set -ex' to the beginning of the script? Then we
could perhaps avoid similar issues in the future.)
> -cache_dir="$HOME/travis-cache"
> good_trees_file="$cache_dir/good-trees"
>
> mkdir -p "$cache_dir"