From: Victoria Dye <vdye@github.com>
To: Patrick Steinhardt <ps@pks.im>, git@vger.kernel.org
Cc: Taylor Blau <me@ttaylorr.com>, Junio C Hamano <gitster@pobox.com>,
Phillip Wood <phillip.wood123@gmail.com>,
Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Subject: Re: [PATCH v4 5/8] ci: unify setup of some environment variables
Date: Tue, 31 Oct 2023 10:06:24 -0700 [thread overview]
Message-ID: <31ebe4c9-84aa-4d42-9aeb-712e2a6cece3@github.com> (raw)
In-Reply-To: <a64799b6e25d05e5d5fc7fe3c5602b5ce256d8b9.1698742590.git.ps@pks.im>
Patrick Steinhardt wrote:
> Both GitHub Actions and Azue Pipelines set up the environment variables
s/Azue/Azure
> GIT_TEST_OPTS, GIT_PROVE_OPTS and MAKEFLAGS. And while most values are
> actually the same, the setup is completely duplicate. With the upcoming
> support for GitLab CI this duplication would only extend even further.
>
> Unify the setup of those environment variables so that only the uncommon
> parts are separated. While at it, we also perform some additional small
> improvements:
>
> - We now always pass `--state=failed,slow,save` via GIT_PROVE_OPTS.
> It doesn't hurt on platforms where we don't persist the state, so
> this further reduces boilerplate.
>
> - When running on Windows systems we set `--no-chain-lint` and
> `--no-bin-wrappers`. Interestingly though, we did so _after_
> already having exported the respective environment variables.
>
> - We stop using `export VAR=value` syntax, which is a Bashism. It's
> not quite worth it as we still use this syntax all over the place,
> but it doesn't hurt readability either.
>
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
> ci/lib.sh | 24 ++++++++++++++----------
> 1 file changed, 14 insertions(+), 10 deletions(-)
>
> diff --git a/ci/lib.sh b/ci/lib.sh
> index 9ffdf743903..9a9b92c05b3 100755
> --- a/ci/lib.sh
> +++ b/ci/lib.sh
> @@ -175,11 +175,7 @@ then
> # among *all* phases)
> cache_dir="$HOME/test-cache/$SYSTEM_PHASENAME"
>
> - export GIT_PROVE_OPTS="--timer --jobs 10 --state=failed,slow,save"
> - export GIT_TEST_OPTS="--verbose-log -x --write-junit-xml"
> - MAKEFLAGS="$MAKEFLAGS --jobs=10"
> - test windows_nt != "$CI_OS_NAME" ||
> - GIT_TEST_OPTS="--no-chain-lint --no-bin-wrappers $GIT_TEST_OPTS"
> + GIT_TEST_OPTS="--write-junit-xml"
> elif test true = "$GITHUB_ACTIONS"
> then
> CI_TYPE=github-actions
> @@ -198,17 +194,25 @@ then
>
> cache_dir="$HOME/none"
>
> - export GIT_PROVE_OPTS="--timer --jobs 10"
> - export GIT_TEST_OPTS="--verbose-log -x --github-workflow-markup"
> - MAKEFLAGS="$MAKEFLAGS --jobs=10"
> - test windows != "$CI_OS_NAME" ||
> - GIT_TEST_OPTS="--no-chain-lint --no-bin-wrappers $GIT_TEST_OPTS"
> + GIT_TEST_OPTS="--github-workflow-markup"
> else
> echo "Could not identify CI type" >&2
> env >&2
> exit 1
> fi
>
> +MAKEFLAGS="$MAKEFLAGS --jobs=10"
> +GIT_PROVE_OPTS="--timer --jobs 10 --state=failed,slow,save"
> +
> +GIT_TEST_OPTS="$GIT_TEST_OPTS --verbose-log -x"
> +if test windows = "$CI_OS_NAME"
Based on the deleted lines above, I think this would need to be:
if test windows = "$CI_OS_NAME" || test windows_nt = "$CI_OS_NAME"
I believe these settings are required on all Windows builds, though, so you could
instead match on the first 7 characters of $CI_OS_NAME:
if test windows = "$(echo "$CI_OS_NAME" | cut -c1-7)"
(full disclosure: I'm not 100% confident in the correctness of that shell syntax)
> +then
> + GIT_TEST_OPTS="$GIT_TEST_OPTS --no-chain-lint --no-bin-wrappers"
> +fi
> +
> +export GIT_TEST_OPTS
> +export GIT_PROVE_OPTS
> +
> good_trees_file="$cache_dir/good-trees"
>
> mkdir -p "$cache_dir"
next prev parent reply other threads:[~2023-10-31 17:06 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-26 7:59 [PATCH 0/5] ci: add GitLab CI definition Patrick Steinhardt
2023-10-26 8:00 ` [PATCH 1/5] ci: reorder definitions for grouping functions Patrick Steinhardt
2023-10-26 8:26 ` Oswald Buddenhagen
2023-10-27 8:17 ` Patrick Steinhardt
2023-10-26 8:00 ` [PATCH 2/5] ci: make grouping setup more generic Patrick Steinhardt
2023-10-26 8:00 ` [PATCH 3/5] ci: group installation of Docker dependencies Patrick Steinhardt
2023-10-26 8:34 ` Oswald Buddenhagen
2023-10-27 8:17 ` Patrick Steinhardt
2023-10-26 8:00 ` [PATCH 4/5] ci: split out logic to set up failed test artifacts Patrick Steinhardt
2023-10-26 8:35 ` Oswald Buddenhagen
2023-11-03 22:35 ` Christian Couder
2023-11-06 7:16 ` Patrick Steinhardt
2023-10-26 8:00 ` [PATCH 5/5] ci: add support for GitLab CI Patrick Steinhardt
2023-10-26 9:07 ` Oswald Buddenhagen
2023-10-27 8:17 ` Patrick Steinhardt
2023-10-27 10:22 ` Phillip Wood
2023-10-27 10:43 ` Oswald Buddenhagen
2023-10-27 14:32 ` Phillip Wood
2023-10-27 17:47 ` Oswald Buddenhagen
2023-10-30 9:49 ` Phillip Wood
2023-10-30 14:04 ` Dragan Simic
2023-10-27 10:49 ` Oswald Buddenhagen
2023-10-27 11:11 ` Patrick Steinhardt
2023-10-27 9:25 ` [PATCH v2 0/5] ci: add GitLab CI definition Patrick Steinhardt
2023-10-27 9:25 ` [PATCH v2 1/5] ci: reorder definitions for grouping functions Patrick Steinhardt
2023-10-27 9:25 ` [PATCH v2 2/5] ci: make grouping setup more generic Patrick Steinhardt
2023-10-27 9:25 ` [PATCH v2 3/5] ci: group installation of Docker dependencies Patrick Steinhardt
2023-10-27 9:25 ` [PATCH v2 4/5] ci: split out logic to set up failed test artifacts Patrick Steinhardt
2023-10-27 9:25 ` [PATCH v2 5/5] ci: add support for GitLab CI Patrick Steinhardt
2023-10-27 10:19 ` Phillip Wood
2023-10-27 11:19 ` Patrick Steinhardt
2023-10-27 11:57 ` Patrick Steinhardt
2023-10-27 13:02 ` Phillip Wood
2023-10-29 16:13 ` Phillip Wood
2023-10-30 10:46 ` Patrick Steinhardt
2023-10-29 16:27 ` Phillip Wood
2023-10-30 10:45 ` Patrick Steinhardt
2023-10-30 0:22 ` Junio C Hamano
2023-10-27 11:01 ` Oswald Buddenhagen
2023-10-27 13:17 ` Phillip Wood
2023-10-27 15:53 ` Oswald Buddenhagen
2023-10-31 19:36 ` Jeff King
2023-11-01 3:33 ` Junio C Hamano
2023-10-30 12:14 ` [PATCH v3 0/8] ci: add GitLab CI definition Patrick Steinhardt
2023-10-30 12:14 ` [PATCH v3 1/8] ci: reorder definitions for grouping functions Patrick Steinhardt
2023-10-30 12:14 ` [PATCH v3 2/8] ci: make grouping setup more generic Patrick Steinhardt
2023-10-30 12:14 ` [PATCH v3 3/8] ci: group installation of Docker dependencies Patrick Steinhardt
2023-10-30 12:14 ` [PATCH v3 4/8] ci: split out logic to set up failed test artifacts Patrick Steinhardt
2023-10-30 12:15 ` [PATCH v3 5/8] ci: unify setup of some environment variables Patrick Steinhardt
2023-10-30 15:09 ` Phillip Wood
2023-10-30 15:19 ` Patrick Steinhardt
2023-10-30 18:22 ` Dragan Simic
2023-10-30 12:15 ` [PATCH v3 6/8] ci: squelch warnings when testing with unusable Git repo Patrick Steinhardt
2023-10-30 12:15 ` [PATCH v3 7/8] ci: install test dependencies for linux-musl Patrick Steinhardt
2023-10-30 12:47 ` Patrick Steinhardt
2023-10-30 13:22 ` Patrick Steinhardt
2023-10-30 15:13 ` Phillip Wood
2023-10-30 15:23 ` Patrick Steinhardt
2023-10-30 16:09 ` Phillip Wood
2023-10-30 12:15 ` [PATCH v3 8/8] ci: add support for GitLab CI Patrick Steinhardt
2023-10-30 15:46 ` [PATCH 0/5] ci: add GitLab CI definition Taylor Blau
2023-10-31 7:46 ` Patrick Steinhardt
2023-10-31 19:12 ` Taylor Blau
2023-11-01 0:15 ` Junio C Hamano
2023-11-01 11:56 ` Patrick Steinhardt
2023-10-31 9:04 ` [PATCH v4 0/8] " Patrick Steinhardt
2023-10-31 9:04 ` [PATCH v4 1/8] ci: reorder definitions for grouping functions Patrick Steinhardt
2023-10-31 9:04 ` [PATCH v4 2/8] ci: make grouping setup more generic Patrick Steinhardt
2023-10-31 9:04 ` [PATCH v4 3/8] ci: group installation of Docker dependencies Patrick Steinhardt
2023-10-31 9:04 ` [PATCH v4 4/8] ci: split out logic to set up failed test artifacts Patrick Steinhardt
2023-10-31 9:04 ` [PATCH v4 5/8] ci: unify setup of some environment variables Patrick Steinhardt
2023-10-31 17:06 ` Victoria Dye [this message]
2023-11-01 3:14 ` Junio C Hamano
2023-11-01 11:44 ` Patrick Steinhardt
2023-10-31 9:05 ` [PATCH v4 6/8] ci: squelch warnings when testing with unusable Git repo Patrick Steinhardt
2023-10-31 9:05 ` [PATCH v4 7/8] ci: install test dependencies for linux-musl Patrick Steinhardt
2023-10-31 9:05 ` [PATCH v4 8/8] ci: add support for GitLab CI Patrick Steinhardt
2023-10-31 17:47 ` Victoria Dye
2023-11-01 11:44 ` Patrick Steinhardt
2023-10-31 18:22 ` [PATCH v4 0/8] ci: add GitLab CI definition Victoria Dye
2023-11-01 3:22 ` Junio C Hamano
2023-11-01 11:44 ` Patrick Steinhardt
2023-11-01 13:02 ` [PATCH v5 0/8] ci: add support for GitLab CI Patrick Steinhardt
2023-11-01 13:02 ` [PATCH v5 1/8] ci: reorder definitions for grouping functions Patrick Steinhardt
2023-11-01 13:02 ` [PATCH v5 2/8] ci: make grouping setup more generic Patrick Steinhardt
2023-11-01 13:02 ` [PATCH v5 3/8] ci: group installation of Docker dependencies Patrick Steinhardt
2023-11-01 13:02 ` [PATCH v5 4/8] ci: split out logic to set up failed test artifacts Patrick Steinhardt
2023-11-01 13:03 ` [PATCH v5 5/8] ci: unify setup of some environment variables Patrick Steinhardt
2023-11-01 13:03 ` [PATCH v5 6/8] ci: squelch warnings when testing with unusable Git repo Patrick Steinhardt
2023-11-01 13:03 ` [PATCH v5 7/8] ci: install test dependencies for linux-musl Patrick Steinhardt
2023-11-01 13:03 ` [PATCH v5 8/8] ci: add support for GitLab CI Patrick Steinhardt
2023-11-09 8:05 ` [PATCH v6 0/8] ci: add GitLab CI definition Patrick Steinhardt
2023-11-09 8:05 ` [PATCH v6 1/8] ci: reorder definitions for grouping functions Patrick Steinhardt
2023-11-09 8:05 ` [PATCH v6 2/8] ci: make grouping setup more generic Patrick Steinhardt
2023-11-09 8:05 ` [PATCH v6 3/8] ci: group installation of Docker dependencies Patrick Steinhardt
2023-11-09 8:05 ` [PATCH v6 4/8] ci: split out logic to set up failed test artifacts Patrick Steinhardt
2023-11-09 8:05 ` [PATCH v6 5/8] ci: unify setup of some environment variables Patrick Steinhardt
2023-11-09 8:05 ` [PATCH v6 6/8] ci: squelch warnings when testing with unusable Git repo Patrick Steinhardt
2023-11-09 8:05 ` [PATCH v6 7/8] ci: install test dependencies for linux-musl Patrick Steinhardt
2023-11-09 8:05 ` [PATCH v6 8/8] ci: add support for GitLab CI Patrick Steinhardt
2023-11-09 10:06 ` [PATCH v6 0/8] ci: add GitLab CI definition Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=31ebe4c9-84aa-4d42-9aeb-712e2a6cece3@github.com \
--to=vdye@github.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=me@ttaylorr.com \
--cc=oswald.buddenhagen@gmx.de \
--cc=phillip.wood123@gmail.com \
--cc=ps@pks.im \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.