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"

Reply via email to