Thread (192 messages) 192 messages, 13 authors, 2021-03-26

Re: [PATCH v4 08/21] ci/lib.sh: add support for Azure Pipelines

From: Johannes Schindelin <hidden>
Date: 2019-01-27 18:26:07

Hi Junio,

On Wed, 23 Jan 2019, Junio C Hamano wrote:
"Johannes Schindelin via GitGitGadget" [off-list ref]
writes:
quoted
From: Johannes Schindelin <redacted>

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".
Makes sense.

Will do that,
Dscho
quoted
Signed-off-by: Johannes Schindelin <redacted>
---
 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 () {
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help