"Johannes Schindelin via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > From: Johannes Schindelin <johannes.schindelin@xxxxxx> > > This patch introduces a conditional arm that defines some environment > variables and a function that displays the URL given the job id (to > identify previous runs for known-good trees). > > For example, we do not have to install the git-lfs and gettext packages > on Azure Pipelines' macOS agents: they are already installed, and trying > to install them again would result in an error. The rationale in the second paragraph is shared with the earlier one that introduced BREW_INSTALL_PACKAGES variable in the first place. It would have made more sense if it was explained there (i.e. say "in environments other than Travis, some packages may be pre installed and asking to install them again may cause failure, so make it configurable what to install")---that way, the explanation in this step's log message can just say "Because Azure pipeline's macOS agents already have git-lfs and gettext installed, unlike Travis, we can leave BREW_INSTALL_PACKAGES empty". > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > --- > ci/lib.sh | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/ci/lib.sh b/ci/lib.sh > index 4456dbbcb0..a9eb4f4eae 100755 > --- a/ci/lib.sh > +++ b/ci/lib.sh > @@ -20,6 +20,29 @@ then > 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" > +elif test -n "$SYSTEM_COLLECTIONURI" || test -n "$SYSTEM_TASKDEFINITIONSURI" > +then > + # We are running in Azure Pipelines > + CI_BRANCH="$BUILD_SOURCEBRANCH" > + CI_COMMIT="$BUILD_SOURCEVERSION" > + CI_JOB_ID="$BUILD_BUILDID" > + CI_JOB_NUMBER="$BUILD_BUILDNUMBER" > + CI_OS_NAME="$(echo "$AGENT_OS" | tr A-Z a-z)" > + test darwin != "$CI_OS_NAME" || CI_OS_NAME=osx > + CI_REPO_SLUG="$(expr "$BUILD_REPOSITORY_URI" : '.*/\([^/]*/[^/]*\)$')" > + CC="${CC:-gcc}" > + > + # use a subdirectory of the cache dir (because the file share is shared > + # among *all* phases) > + cache_dir="$HOME/test-cache/$SYSTEM_PHASENAME" > + > + url_for_job_id () { > + echo "$SYSTEM_TASKDEFINITIONSURI$SYSTEM_TEAMPROJECT/_build/results?buildId=$1" > + } > + > + BREW_INSTALL_PACKAGES= > + export GIT_PROVE_OPTS="--timer --jobs 10 --state=failed,slow,save" > + export GIT_TEST_OPTS="--quiet --write-junit-xml" > fi > > skip_branch_tip_with_tag () {