git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v5 13/29] CI: remove "run-build-and-tests.sh", run "make [test]" directly

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Apr 21, 2022, 18:23 UTC
Message-ID
<patch-v5-13.29-f6ff81f48ab-20220421T181526Z-avarab@gmail.com>
In-Reply-To
<cover-v5-00.29-00000000000-20220421T181526Z-avarab@gmail.com>

Remove the already thin "ci/run-build-and-tests.sh" wrapper and instead make the CI run "make" or "make test" directly. By doing this we'll be able to easily see at a glance whether our failure was in the compilation or testing, whether that's via human eyes or improve machine readability.

We also need to run our new "ci/check-unignored-build-artifacts.sh" on success() in the CI now, just like we already had a step conditional on failure() running ci/print-test-failures.sh.

The reason we used a "ci/run-build-and-tests.sh" wrapper in the first place had to do with Travis CI-specific constraints that no longer apply to us, as the Travis CI support has been removed.

Instead we can configure the CI in an earlier step by running "ci/lib.sh", which under GitHub CI will write the environment variables we need to the "$GITHUB_ENV" file.

We'll then have access to them in subsequent steps, and crucially those variables will be prominently visible at the start of each step via an expandable drop-down in the UI.drop-do.

I.e. this changes the CI run from a top-down flow like (pseudocode):
 - job:
   - step1:
     - use ci/lib.sh to set env vars
     - run a script like ci/run-build-and-tests.sh
   - step2:
     - if: failure()
     - use ci/lib.sh to set env vars
     - run ci/print-test-failures.sh
To:
 - job:
   - step1:
     - set variables in $GITHUB_ENV using ci/lib.sh
   - step2:
     - make
   - step3:
     - make test
   - step4:
     - if: failure()
     - run ci/print-test-failures.sh
   - step5:
     - if: success()
     - run ci/check-unignored-build-artifacts.sh

There is a proposal[2] to get some of the benefits of this approach by not re-arranging our variable setup in this way, but to instead use the GitHub CI grouping syntax to focus on the relevant parts of "make" or "make test" when we have failures.

Doing it this way makes for better looking GitHub CI UI, and lays much better ground work for our CI going forward. Because:

 * The CI logic will be more portable to a future CI system, since a
   common feature of them is to run various commands in sequence, but
   a future system won't necessarily support the GitHub-specifics
   syntax of "grouping" output within a "step".
   Even if those systems don't support a "$GITHUB_ENV" emulating will
   be much easier than to deal with some CI-specific grouping syntax.
 * At the start of every step the GitHub CI presents an expandable
   list of environment variables from "$GITHUB_ENV". We'll now see
   exactly what variables affected that step (although we currently
   overshoot that a bit, and always define all variables).
 * CI failures will be easier to reproduce locally, as this makes the
   relevant ci/* scripts something that sets up our environment, but
   leaves "make" and "make test" working as they do locally.
   To reproduce a run the user only needs to set the variables
   discussed in the drop-down above, either manually or by running
   "ci/lib.sh".
 * The output will be less verbose. The "ci/lib.sh" script uses "set
   -x", and before this e.g. "ci/static-analysis.sh" would start with
   40 lines of trace output, culminating in using "export" to export
   the relevant environment variables.
   Now that verbosity is in the earlier "ci/lib.sh" step, and not in
   any subsequent one. The "make" targets then start out with the
   relevant non-trace output right away.
 * If we do want to use the grouping syntax within a "step" it'll now
   be easier to do so. It doesn't support nesting, so we'd have to
   make a choice between using it for e.g. "make" v.s. "make test", or
   individual test failures. See "sadly" in [3].
1. https://lore.kernel.org/git/211120.86k0h30zuw.gmgdl@evledraar.gmail.com/
2. https://lore.kernel.org/git/pull.1117.git.1643050574.gitgitgadget@gmail.com/
3. https://lore.kernel.org/git/9333ba781b8240f704e739b00d274f8c3d887e39.1643050574.git.gitgitgadget@gmail.com/
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 .github/workflows/main.yml            | 14 ++++++--
 ci/check-unignored-build-artifacts.sh |  8 +++++
 ci/install-dependencies.sh            |  4 +++
 ci/lib.sh                             | 36 +++++++++++++++++++-
 ci/make-test-artifacts.sh             |  2 --
 ci/run-build-and-tests.sh             | 47 ---------------------------
 ci/run-test-slice.sh                  |  2 --
 ci/test-documentation.sh              |  1 -
 8 files changed, 58 insertions(+), 56 deletions(-)
 create mode 100755 ci/check-unignored-build-artifacts.sh
 delete mode 100755 ci/run-build-and-tests.sh
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index ad752010102..57b2db06923 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -268,7 +268,10 @@ jobs:
     steps:
     - uses: actions/checkout@v2
     - run: ci/install-dependencies.sh
-    - run: ci/run-build-and-tests.sh
+    - run: ci/lib.sh
+    - run: make
+    - run: make test
+      if: success()
     - run: ci/print-test-failures.sh
       if: failure()
     - name: Upload failed tests' directories
@@ -292,6 +295,7 @@ jobs:
           image: daald/ubuntu32:xenial
         - jobname: pedantic
           image: fedora
+          skip-tests: yes
     env:
       jobname: ${{matrix.vector.jobname}}
     runs-on: ubuntu-latest
@@ -299,9 +303,12 @@ jobs:
     steps:
     - uses: actions/checkout@v1
     - run: ci/install-docker-dependencies.sh
-    - run: ci/run-build-and-tests.sh
+    - run: ci/lib.sh
+    - run: make
+    - run: make test
+      if: success() && matrix.vector.skip-tests != 'yes'
     - run: ci/print-test-failures.sh
-      if: failure()
+      if: failure() && matrix.vector.skip-tests != 'yes'
     - name: Upload failed tests' directories
       if: failure() && env.FAILED_TEST_ARTIFACTS != ''
       uses: actions/upload-artifact@v1
@@ -317,6 +324,7 @@ jobs:
     steps:
     - uses: actions/checkout@v2
     - run: ci/install-dependencies.sh
+    - run: ci/lib.sh
     - run: make ci-static-analysis
   sparse:
     needs: ci-config
diff --git a/ci/check-unignored-build-artifacts.sh b/ci/check-unignored-build-artifacts.sh
new file mode 100755
index 00000000000..56d04b0db9a
--- /dev/null
+++ b/ci/check-unignored-build-artifacts.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+#
+# Check whether the build created anything not in our .gitignore
+#
+
+. ${0%/*}/lib.sh
+
+check_unignored_build_artifacts
diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
index 34b4400f38b..01006379fd0 100755
--- a/ci/install-dependencies.sh
+++ b/ci/install-dependencies.sh
@@ -22,6 +22,10 @@ ubuntu-latest)
 	P4_PATH="$HOME/custom/p4"
 	GIT_LFS_PATH="$HOME/custom/git-lfs"
 	export PATH="$GIT_LFS_PATH:$P4_PATH:$PATH"
+	if test -n "$GITHUB_PATH"
+	then
+		echo "$PATH" >>"$GITHUB_PATH"
+	fi
 
 	P4WHENCE=http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION
 	LFSWHENCE=https://github.com/github/git-lfs/releases/download/v$LINUX_GIT_LFS_VERSION
diff --git a/ci/lib.sh b/ci/lib.sh
index e36e350e74c..43231862aa5 100755
--- a/ci/lib.sh
+++ b/ci/lib.sh
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 # Library of functions shared by all CI scripts
 
 # Set 'exit on error' for all CI scripts to let the caller know that
@@ -39,7 +41,10 @@ setenv () {
 	val=$2
 	shift 2
 
-	eval "export $key=\"$val\""
+	if test -n "$GITHUB_ENV"
+	then
+		echo "$key=$val" >>"$GITHUB_ENV"
+	fi
 }
 
 check_unignored_build_artifacts ()
@@ -109,6 +114,35 @@ macos-latest)
 esac
 
 case "$jobname" in
+linux-gcc)
+	setenv --test GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME main
+	;;
+linux-TEST-vars)
+	setenv --test GIT_TEST_SPLIT_INDEX yes
+	setenv --test GIT_TEST_MERGE_ALGORITHM recursive
+	setenv --test GIT_TEST_FULL_IN_PACK_ARRAY true
+	setenv --test GIT_TEST_OE_SIZE 10
+	setenv --test GIT_TEST_OE_DELTA_SIZE 5
+	setenv --test GIT_TEST_COMMIT_GRAPH 1
+	setenv --test GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS 1
+	setenv --test GIT_TEST_MULTI_PACK_INDEX 1
+	setenv --test GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP 1
+	setenv --test GIT_TEST_ADD_I_USE_BUILTIN 1
+	setenv --test GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME master
+	setenv --test GIT_TEST_WRITE_REV_INDEX 1
+	setenv --test GIT_TEST_CHECKOUT_WORKERS 2
+	;;
+linux-clang)
+	setenv --test GIT_TEST_DEFAULT_HASH sha1
+	;;
+linux-sha256)
+	setenv --test GIT_TEST_DEFAULT_HASH sha256
+	;;
+pedantic)
+	# Don't run the tests; we only care about whether Git can be
+	# built.
+	setenv --build DEVOPTS pedantic
+	;;
 linux32)
 	CC=gcc
 	;;
diff --git a/ci/make-test-artifacts.sh b/ci/make-test-artifacts.sh
index 646967481f6..45298562982 100755
--- a/ci/make-test-artifacts.sh
+++ b/ci/make-test-artifacts.sh
@@ -8,5 +8,3 @@ mkdir -p "$1" # in case ci/lib.sh decides to quit early
 . ${0%/*}/lib.sh
 
 make artifacts-tar ARTIFACTS_DIRECTORY="$1"
-
-check_unignored_build_artifacts
diff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh
deleted file mode 100755
index 35d45a9373e..00000000000
--- a/ci/run-build-and-tests.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh
-#
-# Build and test Git
-#
-
-. ${0%/*}/lib.sh
-
-export MAKE_TARGETS="all test"
-
-case "$jobname" in
-linux-gcc)
-	setenv --test GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME main
-	;;
-linux-TEST-vars)
-	setenv --test GIT_TEST_SPLIT_INDEX yes
-	setenv --test GIT_TEST_MERGE_ALGORITHM recursive
-	setenv --test GIT_TEST_FULL_IN_PACK_ARRAY true
-	setenv --test GIT_TEST_OE_SIZE 10
-	setenv --test GIT_TEST_OE_DELTA_SIZE 5
-	setenv --test GIT_TEST_COMMIT_GRAPH 1
-	setenv --test GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS 1
-	setenv --test GIT_TEST_MULTI_PACK_INDEX 1
-	setenv --test GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP 1
-	setenv --test GIT_TEST_ADD_I_USE_BUILTIN 1
-	setenv --test GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME master
-	setenv --test GIT_TEST_WRITE_REV_INDEX 1
-	setenv --test GIT_TEST_CHECKOUT_WORKERS 2
-	;;
-linux-clang)
-	setenv --test GIT_TEST_DEFAULT_HASH sha1
-	;;
-linux-sha256)
-	setenv --test GIT_TEST_DEFAULT_HASH sha256
-	;;
-pedantic)
-	# Don't run the tests; we only care about whether Git can be
-	# built.
-	setenv --build DEVOPTS pedantic
-	export MAKE_TARGETS=all
-	;;
-esac
-
-# Any new "test" targets should not go after this "make", but should
-# adjust $MAKE_TARGETS. Otherwise compilation-only targets above will
-# start running tests.
-make $MAKE_TARGETS
-check_unignored_build_artifacts
diff --git a/ci/run-test-slice.sh b/ci/run-test-slice.sh
index b9a682b4bcd..70326961454 100755
--- a/ci/run-test-slice.sh
+++ b/ci/run-test-slice.sh
@@ -8,5 +8,3 @@
 make --quiet -C t T="$(cd t &&
 	./helper/test-tool path-utils slice-tests "$1" "$2" t[0-9]*.sh |
 	tr '\n' ' ')"
-
-check_unignored_build_artifacts
diff --git a/ci/test-documentation.sh b/ci/test-documentation.sh
index 41e2b126311..6b5cce03bd7 100755
--- a/ci/test-documentation.sh
+++ b/ci/test-documentation.sh
@@ -39,4 +39,3 @@ test -s Documentation/git.html
 grep '<meta name="generator" content="Asciidoctor ' Documentation/git.html
 
 rm -f stdout.log stderr.log stderr.raw
-check_unignored_build_artifacts
-- 
2.36.0.879.g3659959fcca
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 214 of 260 in “CI: run "make [test]" directly, use $GITHUB_ENV”
  1. 00/25 CI: run "make [test]" directly, use $GITHUB_ENVÆvar Arnfjörð Bjarmason, Feb 21, 2022
  2. 01/25 CI: run "set -ex" early in ci/lib.shÆvar Arnfjörð Bjarmason, Feb 21, 2022
  3. 02/25 CI: make "$jobname" explicit, remove fallbackÆvar Arnfjörð Bjarmason, Feb 21, 2022
  4. 03/25 CI: remove more dead Travis CI supportÆvar Arnfjörð Bjarmason, Feb 21, 2022
  5. 04/25 CI: remove dead "tree skipping" codeÆvar Arnfjörð Bjarmason, Feb 21, 2022
  6. 08/25 CI: have "static-analysis" run "check-builtins", not "documentation"Ævar Arnfjörð Bjarmason, Feb 21, 2022
  7. 06/25 CI: don't have "git grep" invoke a pager in tree content checkÆvar Arnfjörð Bjarmason, Feb 21, 2022
  8. 07/25 CI: have "static-analysis" run a "make ci-static-analysis" targetÆvar Arnfjörð Bjarmason, Feb 21, 2022
  9. 05/25 CI: remove unused Azure ci/* codeÆvar Arnfjörð Bjarmason, Feb 21, 2022
  10. Johannes SchindelinFeb 22, 2022
  11. Ævar Arnfjörð BjarmasonFeb 22, 2022
  12. Johannes SchindelinFeb 22, 2022
  13. Ævar Arnfjörð BjarmasonFeb 22, 2022
  14. 10/25 CI: consistently use "export" in ci/lib.shÆvar Arnfjörð Bjarmason, Feb 21, 2022
  15. 09/25 CI: move p4 and git-lfs variables to ci/install-dependencies.shÆvar Arnfjörð Bjarmason, Feb 21, 2022
  16. 11/25 CI: export variables via a wrapperÆvar Arnfjörð Bjarmason, Feb 21, 2022
  17. 19/25 CI: pre-select test slice in Windows & VS testsÆvar Arnfjörð Bjarmason, Feb 21, 2022
  18. 16/25 CI: combine ci/install{,-docker}-dependencies.shÆvar Arnfjörð Bjarmason, Feb 21, 2022
  19. 18/25 ci/run-test-slice.sh: replace shelling out with "echo"Ævar Arnfjörð Bjarmason, Feb 21, 2022
  20. 17/25 CI: move "env" definitions into ci/lib.shÆvar Arnfjörð Bjarmason, Feb 21, 2022
  21. 14/25 CI: invoke "make artifacts-tar" directly in windows-buildÆvar Arnfjörð Bjarmason, Feb 21, 2022
  22. 13/25 CI: check ignored unignored build artifacts in "win[+VS] build" tooÆvar Arnfjörð Bjarmason, Feb 21, 2022
  23. 12/25 CI: remove "run-build-and-tests.sh", run "make [test]" directlyÆvar Arnfjörð Bjarmason, Feb 21, 2022
  24. 15/25 CI: split up and reduce "ci/test-documentation.sh"Ævar Arnfjörð Bjarmason, Feb 21, 2022
  25. 20/25 CI: only invoke ci/lib.sh as "steps" in main.ymlÆvar Arnfjörð Bjarmason, Feb 21, 2022
  26. 21/25 CI: narrow down variable definitions in --build and --testÆvar Arnfjörð Bjarmason, Feb 21, 2022
  27. 22/25 CI: add more variables to MAKEFLAGS, except under vs-buildÆvar Arnfjörð Bjarmason, Feb 21, 2022
  28. 25/25 CI: don't use "set -x" in "ci/lib.sh" outputÆvar Arnfjörð Bjarmason, Feb 21, 2022
  29. 23/25 CI: stop over-setting the $CC variableÆvar Arnfjörð Bjarmason, Feb 21, 2022
  30. SZEDER GáborMar 5, 2022
  31. Ævar Arnfjörð BjarmasonMar 5, 2022
  32. 24/25 CI: set PYTHON_PATH setting for osx-{clang,gcc} into "$jobname" caseÆvar Arnfjörð Bjarmason, Feb 21, 2022
  33. Phillip WoodFeb 23, 2022
  34. Junio C HamanoFeb 23, 2022
  35. Ævar Arnfjörð BjarmasonFeb 23, 2022
  36. Johannes SchindelinMar 9, 2022
  37. 00/25 CI: run "make [test]" directly, use $GITHUB_ENVÆvar Arnfjörð Bjarmason, Mar 25, 2022
  38. 15/25 CI: split up and reduce "ci/test-documentation.sh"Ævar Arnfjörð Bjarmason, Mar 25, 2022
  39. 19/25 CI: pre-select test slice in Windows & VS testsÆvar Arnfjörð Bjarmason, Mar 25, 2022
  40. 16/25 CI: combine ci/install{,-docker}-dependencies.shÆvar Arnfjörð Bjarmason, Mar 25, 2022
  41. 08/25 CI: have "static-analysis" run "check-builtins", not "documentation"Ævar Arnfjörð Bjarmason, Mar 25, 2022
  42. 02/25 CI: make "$jobname" explicit, remove fallbackÆvar Arnfjörð Bjarmason, Mar 25, 2022
  43. 13/25 CI: check ignored unignored build artifacts in "win[+VS] build" tooÆvar Arnfjörð Bjarmason, Mar 25, 2022
  44. 17/25 CI: move "env" definitions into ci/lib.shÆvar Arnfjörð Bjarmason, Mar 25, 2022
  45. 24/25 CI: set PYTHON_PATH setting for osx-{clang,gcc} into "$jobname" caseÆvar Arnfjörð Bjarmason, Mar 25, 2022
  46. 05/25 CI: remove unused Azure ci/* codeÆvar Arnfjörð Bjarmason, Mar 25, 2022
  47. 25/25 CI: don't use "set -x" in "ci/lib.sh" outputÆvar Arnfjörð Bjarmason, Mar 25, 2022
  48. 12/25 CI: remove "run-build-and-tests.sh", run "make [test]" directlyÆvar Arnfjörð Bjarmason, Mar 25, 2022
  49. 07/25 CI: have "static-analysis" run a "make ci-static-analysis" targetÆvar Arnfjörð Bjarmason, Mar 25, 2022
  50. 01/25 CI: run "set -ex" early in ci/lib.shÆvar Arnfjörð Bjarmason, Mar 25, 2022
  51. 0/6 CI: js/ci-github-workflow-markup rebased on "use $GITHUB_ENV"Ævar Arnfjörð Bjarmason, Mar 25, 2022
  52. 4/6 ci: optionally mark up output in the GitHub workflowÆvar Arnfjörð Bjarmason, Mar 25, 2022
  53. 6/6 ci: call `finalize_test_case_output` a little laterÆvar Arnfjörð Bjarmason, Mar 25, 2022
  54. 1/6 ci: make it easier to find failed tests' logs in the GitHub workflowÆvar Arnfjörð Bjarmason, Mar 25, 2022
  55. 2/6 tests: refactor --write-junit-xml codeÆvar Arnfjörð Bjarmason, Mar 25, 2022
  56. 3/6 test(junit): avoid line feeds in XML attributesÆvar Arnfjörð Bjarmason, Mar 25, 2022
  57. 5/6 ci: use `--github-workflow-markup` in the GitHub workflowÆvar Arnfjörð Bjarmason, Mar 25, 2022
  58. 0/6 CI: js/ci-github-workflow-markup rebased on "use $GITHUB_ENV"Ævar Arnfjörð Bjarmason, Apr 13, 2022
  59. 2/6 tests: refactor --write-junit-xml codeÆvar Arnfjörð Bjarmason, Apr 13, 2022
  60. 1/6 ci: make it easier to find failed tests' logs in the GitHub workflowÆvar Arnfjörð Bjarmason, Apr 13, 2022
  61. 3/6 test(junit): avoid line feeds in XML attributesÆvar Arnfjörð Bjarmason, Apr 13, 2022
  62. 4/6 ci: optionally mark up output in the GitHub workflowÆvar Arnfjörð Bjarmason, Apr 13, 2022
  63. 6/6 ci: call `finalize_test_case_output` a little laterÆvar Arnfjörð Bjarmason, Apr 13, 2022
  64. 5/6 ci: use `--github-workflow-markup` in the GitHub workflowÆvar Arnfjörð Bjarmason, Apr 13, 2022
  65. Junio C HamanoApr 14, 2022
  66. Ævar Arnfjörð BjarmasonApr 14, 2022
  67. Junio C HamanoApr 14, 2022
  68. 00/10 CI: js/ci-github-workflow-markup rebased on "use $GITHUB_ENV"Ævar Arnfjörð Bjarmason, Apr 21, 2022
  69. 02/10 CI: add --exit-code to ci/print-test-failures.shÆvar Arnfjörð Bjarmason, Apr 21, 2022
  70. 01/10 CI: don't "cd" in ci/print-test-failures.shÆvar Arnfjörð Bjarmason, Apr 21, 2022
  71. 03/10 CI: don't include "test-results/" in ci/print-test-failures.sh outputÆvar Arnfjörð Bjarmason, Apr 21, 2022
  72. 04/10 CI: stop setting FAILED_TEST_ARTIFACTS N timesÆvar Arnfjörð Bjarmason, Apr 21, 2022
  73. 05/10 ci: make it easier to find failed tests' logs in the GitHub workflowÆvar Arnfjörð Bjarmason, Apr 21, 2022
  74. 06/10 tests: refactor --write-junit-xml codeÆvar Arnfjörð Bjarmason, Apr 21, 2022
  75. 07/10 test(junit): avoid line feeds in XML attributesÆvar Arnfjörð Bjarmason, Apr 21, 2022
  76. 09/10 ci: use `--github-workflow-markup` in the GitHub workflowÆvar Arnfjörð Bjarmason, Apr 21, 2022
  77. 08/10 ci: optionally mark up output in the GitHub workflowÆvar Arnfjörð Bjarmason, Apr 21, 2022
  78. 10/10 ci: call `finalize_test_case_output` a little laterÆvar Arnfjörð Bjarmason, Apr 21, 2022
  79. 00/14 CI: js/ci-github-workflow-markup rebased on "use $GITHUB_ENV"Ævar Arnfjörð Bjarmason, May 25, 2022
  80. 01/14 CI: don't "cd" in ci/print-test-failures.shÆvar Arnfjörð Bjarmason, May 25, 2022
  81. 02/14 CI: don't include "test-results/" in ci/print-test-failures.sh outputÆvar Arnfjörð Bjarmason, May 25, 2022
  82. 03/14 CI: stop setting FAILED_TEST_ARTIFACTS N timesÆvar Arnfjörð Bjarmason, May 25, 2022
  83. 04/14 tests: refactor --write-junit-xml codeÆvar Arnfjörð Bjarmason, May 25, 2022
  84. 05/14 test(junit): avoid line feeds in XML attributesÆvar Arnfjörð Bjarmason, May 25, 2022
  85. 06/14 ci: optionally mark up output in the GitHub workflowÆvar Arnfjörð Bjarmason, May 25, 2022
  86. 07/14 ci: make it easier to find failed tests' logs in the GitHub workflowÆvar Arnfjörð Bjarmason, May 25, 2022
  87. 08/14 ci(github): skip the logs of the successful test casesÆvar Arnfjörð Bjarmason, May 25, 2022
  88. 09/14 ci(github): skip "skip" tests in --github-workflow-markupÆvar Arnfjörð Bjarmason, May 25, 2022
  89. 10/14 ci(github): avoid printing test case preamble twiceÆvar Arnfjörð Bjarmason, May 25, 2022
  90. 11/14 ci(github): mention where the full logs can be foundÆvar Arnfjörð Bjarmason, May 25, 2022
  91. 12/14 ci: call `finalize_test_case_output` a little laterÆvar Arnfjörð Bjarmason, May 25, 2022
  92. 13/14 CI: make --github-workflow-markup ci-config, off by defaultÆvar Arnfjörð Bjarmason, May 25, 2022
  93. 14/14 CI: make the --github-workflow-markup "github" output the defaultÆvar Arnfjörð Bjarmason, May 25, 2022
  94. 11/25 CI: export variables via a wrapperÆvar Arnfjörð Bjarmason, Mar 25, 2022
  95. 14/25 CI: invoke "make artifacts-tar" directly in windows-buildÆvar Arnfjörð Bjarmason, Mar 25, 2022
  96. 10/25 CI: consistently use "export" in ci/lib.shÆvar Arnfjörð Bjarmason, Mar 25, 2022
  97. 09/25 CI: move p4 and git-lfs variables to ci/install-dependencies.shÆvar Arnfjörð Bjarmason, Mar 25, 2022
  98. 21/25 CI: narrow down variable definitions in --build and --testÆvar Arnfjörð Bjarmason, Mar 25, 2022
  99. 23/25 CI: set CC in MAKEFLAGS directly, don't add it to the environmentÆvar Arnfjörð Bjarmason, Mar 25, 2022
  100. 22/25 CI: add more variables to MAKEFLAGS, except under vs-buildÆvar Arnfjörð Bjarmason, Mar 25, 2022
  101. 20/25 CI: only invoke ci/lib.sh as "steps" in main.ymlÆvar Arnfjörð Bjarmason, Mar 25, 2022
  102. 04/25 CI: remove dead "tree skipping" codeÆvar Arnfjörð Bjarmason, Mar 25, 2022
  103. 03/25 CI: remove more dead Travis CI supportÆvar Arnfjörð Bjarmason, Mar 25, 2022
  104. 18/25 ci/run-test-slice.sh: replace shelling out with "echo"Ævar Arnfjörð Bjarmason, Mar 25, 2022
  105. 06/25 CI: don't have "git grep" invoke a pager in tree content checkÆvar Arnfjörð Bjarmason, Mar 25, 2022
  106. Victoria DyeMar 25, 2022
  107. Ævar Arnfjörð BjarmasonMar 26, 2022
  108. Phillip WoodApr 18, 2022
  109. Junio C HamanoMar 28, 2022
  110. Johannes SchindelinApr 5, 2022
  111. Ævar Arnfjörð BjarmasonApr 6, 2022
  112. Junio C HamanoApr 6, 2022
  113. 00/29 CI: run "make" in CI "steps", improve UXÆvar Arnfjörð Bjarmason, Apr 13, 2022
  114. 01/29 CI: run "set -ex" early in ci/lib.shÆvar Arnfjörð Bjarmason, Apr 13, 2022
  115. 02/29 CI: make "$jobname" explicit, remove fallbackÆvar Arnfjörð Bjarmason, Apr 13, 2022
  116. 03/29 CI: remove more dead Travis CI supportÆvar Arnfjörð Bjarmason, Apr 13, 2022
  117. Eric SunshineApr 14, 2022
  118. 04/29 CI: remove dead "tree skipping" codeÆvar Arnfjörð Bjarmason, Apr 13, 2022
  119. 05/29 CI: remove unused Azure ci/* codeÆvar Arnfjörð Bjarmason, Apr 13, 2022
  120. 06/29 CI/lib.sh: stop adding leading whitespace to $MAKEFLAGSÆvar Arnfjörð Bjarmason, Apr 13, 2022
  121. 07/29 CI: don't have "git grep" invoke a pager in tree content checkÆvar Arnfjörð Bjarmason, Apr 13, 2022
  122. Eric SunshineApr 14, 2022
  123. 08/29 CI: have "static-analysis" run a "make ci-static-analysis" targetÆvar Arnfjörð Bjarmason, Apr 13, 2022
  124. 10/29 CI: move p4 and git-lfs variables to ci/install-dependencies.shÆvar Arnfjörð Bjarmason, Apr 13, 2022
  125. 11/29 CI: consistently use "export" in ci/lib.shÆvar Arnfjörð Bjarmason, Apr 13, 2022
  126. 09/29 CI: have "static-analysis" run "check-builtins", not "documentation"Ævar Arnfjörð Bjarmason, Apr 13, 2022
  127. 12/29 CI: export variables via a wrapperÆvar Arnfjörð Bjarmason, Apr 13, 2022
  128. 14/29 ci/lib.sh: use "test" instead of "["Ævar Arnfjörð Bjarmason, Apr 13, 2022
  129. 15/29 CI: check ignored unignored build artifacts in "win[+VS] build" tooÆvar Arnfjörð Bjarmason, Apr 13, 2022
  130. 16/29 CI: invoke "make artifacts-tar" directly in windows-buildÆvar Arnfjörð Bjarmason, Apr 13, 2022
  131. 13/29 CI: remove "run-build-and-tests.sh", run "make [test]" directlyÆvar Arnfjörð Bjarmason, Apr 13, 2022
  132. Eric SunshineApr 14, 2022
  133. 17/29 CI: split up and reduce "ci/test-documentation.sh"Ævar Arnfjörð Bjarmason, Apr 13, 2022
  134. Eric SunshineApr 14, 2022
  135. 18/29 CI: combine ci/install{,-docker}-dependencies.shÆvar Arnfjörð Bjarmason, Apr 13, 2022
  136. 19/29 CI: move "env" definitions into ci/lib.shÆvar Arnfjörð Bjarmason, Apr 13, 2022
  137. 20/29 ci/run-test-slice.sh: replace shelling out with "echo"Ævar Arnfjörð Bjarmason, Apr 13, 2022
  138. 21/29 CI: pre-select test slice in Windows & VS testsÆvar Arnfjörð Bjarmason, Apr 13, 2022
  139. 22/29 CI: only invoke ci/lib.sh as "steps" in main.ymlÆvar Arnfjörð Bjarmason, Apr 13, 2022
  140. 23/29 CI: narrow down variable definitions in --build and --testÆvar Arnfjörð Bjarmason, Apr 13, 2022
  141. 24/29 CI: add more variables to MAKEFLAGS, except under vs-buildÆvar Arnfjörð Bjarmason, Apr 13, 2022
  142. 26/29 CI: set SANITIZE=leak in MAKEFLAGS directlyÆvar Arnfjörð Bjarmason, Apr 13, 2022
  143. 25/29 CI: set CC in MAKEFLAGS directly, don't add it to the environmentÆvar Arnfjörð Bjarmason, Apr 13, 2022
  144. Eric SunshineApr 14, 2022
  145. Carlo ArenasApr 15, 2022
  146. Ævar Arnfjörð BjarmasonApr 15, 2022
  147. Junio C HamanoApr 15, 2022
  148. Carlo ArenasApr 15, 2022
  149. Carlo ArenasApr 15, 2022
  150. 27/29 CI: set PYTHON_PATH setting for osx-{clang,gcc} into "$jobname" caseÆvar Arnfjörð Bjarmason, Apr 13, 2022
  151. 28/29 CI: don't use "set -x" in "ci/lib.sh" outputÆvar Arnfjörð Bjarmason, Apr 13, 2022
  152. 29/29 CI: make it easy to use ci/*.sh outside of CIÆvar Arnfjörð Bjarmason, Apr 13, 2022
  153. Eric SunshineApr 14, 2022
  154. Ævar Arnfjörð BjarmasonApr 14, 2022
  155. Junio C HamanoApr 13, 2022
  156. 00/31 CI: run "make" in CI "steps", improve UXÆvar Arnfjörð Bjarmason, Apr 18, 2022
  157. 01/31 CI: run "set -ex" early in ci/lib.shÆvar Arnfjörð Bjarmason, Apr 18, 2022
  158. 02/31 CI: make "$jobname" explicit, remove fallbackÆvar Arnfjörð Bjarmason, Apr 18, 2022
  159. 03/31 CI: remove more dead Travis CI supportÆvar Arnfjörð Bjarmason, Apr 18, 2022
  160. 05/31 CI: remove unused Azure ci/* codeÆvar Arnfjörð Bjarmason, Apr 18, 2022
  161. 04/31 CI: remove dead "tree skipping" codeÆvar Arnfjörð Bjarmason, Apr 18, 2022
  162. 06/31 CI/lib.sh: stop adding leading whitespace to $MAKEFLAGSÆvar Arnfjörð Bjarmason, Apr 18, 2022
  163. 07/31 CI: don't have "git grep" invoke a pager in tree content checkÆvar Arnfjörð Bjarmason, Apr 18, 2022
  164. 08/31 CI: have "static-analysis" run a "make ci-static-analysis" targetÆvar Arnfjörð Bjarmason, Apr 18, 2022
  165. 13/31 CI: remove "run-build-and-tests.sh", run "make [test]" directlyÆvar Arnfjörð Bjarmason, Apr 18, 2022
  166. 14/31 ci/lib.sh: use "test" instead of "["Ævar Arnfjörð Bjarmason, Apr 18, 2022
  167. 12/31 CI: export variables via a wrapperÆvar Arnfjörð Bjarmason, Apr 18, 2022
  168. 11/31 CI: consistently use "export" in ci/lib.shÆvar Arnfjörð Bjarmason, Apr 18, 2022
  169. 16/31 CI: invoke "make artifacts-tar" directly in windows-buildÆvar Arnfjörð Bjarmason, Apr 18, 2022
  170. 17/31 CI: split up and reduce "ci/test-documentation.sh"Ævar Arnfjörð Bjarmason, Apr 18, 2022
  171. 19/31 CI: combine ci/install{,-docker}-dependencies.shÆvar Arnfjörð Bjarmason, Apr 18, 2022
  172. 18/31 CI: make ci/install-dependencies.sh POSIX-compatibleÆvar Arnfjörð Bjarmason, Apr 18, 2022
  173. 20/31 CI: move "env" definitions into ci/lib.shÆvar Arnfjörð Bjarmason, Apr 18, 2022
  174. 21/31 ci/run-test-slice.sh: replace shelling out with "echo"Ævar Arnfjörð Bjarmason, Apr 18, 2022
  175. 22/31 CI: pre-select test slice in Windows & VS testsÆvar Arnfjörð Bjarmason, Apr 18, 2022
  176. 25/31 CI: add more variables to MAKEFLAGS, except under vs-buildÆvar Arnfjörð Bjarmason, Apr 18, 2022
  177. 27/31 CI: set SANITIZE=leak in MAKEFLAGS directlyÆvar Arnfjörð Bjarmason, Apr 18, 2022
  178. 29/31 CI: don't use "set -x" in "ci/lib.sh" outputÆvar Arnfjörð Bjarmason, Apr 18, 2022
  179. 28/31 CI: set PYTHON_PATH setting for osx-{clang,gcc} into "$jobname" caseÆvar Arnfjörð Bjarmason, Apr 18, 2022
  180. 26/31 CI: set CC in MAKEFLAGS directly, don't add it to the environmentÆvar Arnfjörð Bjarmason, Apr 18, 2022
  181. 31/31 CI: make it easy to use ci/*.sh outside of CIÆvar Arnfjörð Bjarmason, Apr 18, 2022
  182. Eric SunshineApr 18, 2022
  183. Ævar Arnfjörð BjarmasonApr 19, 2022
  184. 09/31 CI: have "static-analysis" run "check-builtins", not "documentation"Ævar Arnfjörð Bjarmason, Apr 18, 2022
  185. 15/31 CI: check ignored unignored build artifacts in "win[+VS] build" tooÆvar Arnfjörð Bjarmason, Apr 18, 2022
  186. 10/31 CI: move p4 and git-lfs variables to ci/install-dependencies.shÆvar Arnfjörð Bjarmason, Apr 18, 2022
  187. 30/31 CI: have osx-gcc use gcc, not clangÆvar Arnfjörð Bjarmason, Apr 18, 2022
  188. Phillip WoodApr 18, 2022
  189. Junio C HamanoApr 20, 2022
  190. Phillip WoodApr 20, 2022
  191. Junio C HamanoApr 20, 2022
  192. js/ci-github-workflow-markup, was Re: [PATCH v4 30/31] CI: have osx-gcc use gcc, not clangJohannes Schindelin, Apr 21, 2022
  193. Ævar Arnfjörð BjarmasonApr 21, 2022
  194. Junio C HamanoApr 21, 2022
  195. 24/31 CI: narrow down variable definitions in --build and --testÆvar Arnfjörð Bjarmason, Apr 18, 2022
  196. 23/31 CI: only invoke ci/lib.sh as "steps" in main.ymlÆvar Arnfjörð Bjarmason, Apr 18, 2022
  197. 00/29 CI: run "make" in CI "steps", improve UXÆvar Arnfjörð Bjarmason, Apr 21, 2022
  198. 03/29 CI: remove more dead Travis CI supportÆvar Arnfjörð Bjarmason, Apr 21, 2022
  199. 01/29 CI: run "set -ex" early in ci/lib.shÆvar Arnfjörð Bjarmason, Apr 21, 2022
  200. 02/29 CI: make "$jobname" explicit, remove fallbackÆvar Arnfjörð Bjarmason, Apr 21, 2022
  201. 04/29 CI: remove dead "tree skipping" codeÆvar Arnfjörð Bjarmason, Apr 21, 2022
  202. 08/29 CI: have "static-analysis" run a "make ci-static-analysis" targetÆvar Arnfjörð Bjarmason, Apr 21, 2022
  203. 10/29 CI: move p4 and git-lfs variables to ci/install-dependencies.shÆvar Arnfjörð Bjarmason, Apr 21, 2022
  204. fixup! CI: move p4 and git-lfs variables to ci/install-dependencies.shCarlo Marcelo Arenas Belón, Apr 23, 2022
  205. Junio C HamanoApr 23, 2022
  206. Carlo ArenasApr 23, 2022
  207. Carlo ArenasApr 24, 2022
  208. 11/29 CI: consistently use "export" in ci/lib.shÆvar Arnfjörð Bjarmason, Apr 21, 2022
  209. 09/29 CI: have "static-analysis" run "check-builtins", not "documentation"Ævar Arnfjörð Bjarmason, Apr 21, 2022
  210. 12/29 CI: export variables via a wrapperÆvar Arnfjörð Bjarmason, Apr 21, 2022
  211. 07/29 CI: don't have "git grep" invoke a pager in tree content checkÆvar Arnfjörð Bjarmason, Apr 21, 2022
  212. 05/29 CI: remove unused Azure ci/* codeÆvar Arnfjörð Bjarmason, Apr 21, 2022
  213. 06/29 CI/lib.sh: stop adding leading whitespace to $MAKEFLAGSÆvar Arnfjörð Bjarmason, Apr 21, 2022
  214. 13/29 CI: remove "run-build-and-tests.sh", run "make [test]" directlyÆvar Arnfjörð Bjarmason, Apr 21, 2022
  215. 14/29 CI: make ci/{lib,install-dependencies}.sh POSIX-compatibleÆvar Arnfjörð Bjarmason, Apr 21, 2022
  216. 16/29 CI: invoke "make artifacts-tar" directly in windows-buildÆvar Arnfjörð Bjarmason, Apr 21, 2022
  217. 17/29 CI: split up and reduce "ci/test-documentation.sh"Ævar Arnfjörð Bjarmason, Apr 21, 2022
  218. 18/29 CI: combine ci/install{,-docker}-dependencies.shÆvar Arnfjörð Bjarmason, Apr 21, 2022
  219. 19/29 CI: move "env" definitions into ci/lib.shÆvar Arnfjörð Bjarmason, Apr 21, 2022
  220. 20/29 ci/run-test-slice.sh: replace shelling out with "echo"Ævar Arnfjörð Bjarmason, Apr 21, 2022
  221. 22/29 CI: only invoke ci/lib.sh as "steps" in main.ymlÆvar Arnfjörð Bjarmason, Apr 21, 2022
  222. 23/29 CI: narrow down variable definitions in --build and --testÆvar Arnfjörð Bjarmason, Apr 21, 2022
  223. 24/29 CI: add more variables to MAKEFLAGS, except under vs-buildÆvar Arnfjörð Bjarmason, Apr 21, 2022
  224. 26/29 CI: set SANITIZE=leak in MAKEFLAGS directlyÆvar Arnfjörð Bjarmason, Apr 21, 2022
  225. 25/29 CI: set CC in MAKEFLAGS directly, don't add it to the environmentÆvar Arnfjörð Bjarmason, Apr 21, 2022
  226. 28/29 CI: don't use "set -x" in "ci/lib.sh" outputÆvar Arnfjörð Bjarmason, Apr 21, 2022
  227. 15/29 CI: check ignored unignored build artifacts in "win[+VS] build" tooÆvar Arnfjörð Bjarmason, Apr 21, 2022
  228. 21/29 CI: pre-select test slice in Windows & VS testsÆvar Arnfjörð Bjarmason, Apr 21, 2022
  229. 27/29 CI: set PYTHON_PATH setting for osx-{clang,gcc} into "$jobname" caseÆvar Arnfjörð Bjarmason, Apr 21, 2022
  230. 29/29 CI: make it easy to use ci/*.sh outside of CIÆvar Arnfjörð Bjarmason, Apr 21, 2022
  231. 00/29 CI: run "make" in CI "steps", improve UXÆvar Arnfjörð Bjarmason, May 25, 2022
  232. 01/29 CI: run "set -ex" early in ci/lib.shÆvar Arnfjörð Bjarmason, May 25, 2022
  233. 02/29 CI: make "$jobname" explicit, remove fallbackÆvar Arnfjörð Bjarmason, May 25, 2022
  234. 05/29 CI: remove unused Azure ci/* codeÆvar Arnfjörð Bjarmason, May 25, 2022
  235. 03/29 CI: remove more dead Travis CI supportÆvar Arnfjörð Bjarmason, May 25, 2022
  236. 07/29 CI: don't have "git grep" invoke a pager in tree content checkÆvar Arnfjörð Bjarmason, May 25, 2022
  237. 04/29 CI: remove dead "tree skipping" codeÆvar Arnfjörð Bjarmason, May 25, 2022
  238. 09/29 CI: have "static-analysis" run "check-builtins", not "documentation"Ævar Arnfjörð Bjarmason, May 25, 2022
  239. 10/29 CI: move p4 and git-lfs variables to ci/install-dependencies.shÆvar Arnfjörð Bjarmason, May 25, 2022
  240. 11/29 CI: consistently use "export" in ci/lib.shÆvar Arnfjörð Bjarmason, May 25, 2022
  241. 26/29 CI: set SANITIZE=leak in MAKEFLAGS directlyÆvar Arnfjörð Bjarmason, May 25, 2022
  242. 24/29 CI: add more variables to MAKEFLAGS, except under vs-buildÆvar Arnfjörð Bjarmason, May 25, 2022
  243. 25/29 CI: set CC in MAKEFLAGS directly, don't add it to the environmentÆvar Arnfjörð Bjarmason, May 25, 2022
  244. 27/29 CI: set PYTHON_PATH setting for osx-{clang,gcc} into "$jobname" caseÆvar Arnfjörð Bjarmason, May 25, 2022
  245. 28/29 CI: don't use "set -x" in "ci/lib.sh" outputÆvar Arnfjörð Bjarmason, May 25, 2022
  246. 29/29 CI: make it easy to use ci/*.sh outside of CIÆvar Arnfjörð Bjarmason, May 25, 2022
  247. 06/29 CI/lib.sh: stop adding leading whitespace to $MAKEFLAGSÆvar Arnfjörð Bjarmason, May 25, 2022
  248. 08/29 CI: have "static-analysis" run a "make ci-static-analysis" targetÆvar Arnfjörð Bjarmason, May 25, 2022
  249. 12/29 CI: export variables via a wrapperÆvar Arnfjörð Bjarmason, May 25, 2022
  250. 17/29 CI: split up and reduce "ci/test-documentation.sh"Ævar Arnfjörð Bjarmason, May 25, 2022
  251. 15/29 CI: check ignored unignored build artifacts in "win[+VS] build" tooÆvar Arnfjörð Bjarmason, May 25, 2022
  252. 16/29 CI: invoke "make artifacts-tar" directly in windows-buildÆvar Arnfjörð Bjarmason, May 25, 2022
  253. 18/29 CI: combine ci/install{,-docker}-dependencies.shÆvar Arnfjörð Bjarmason, May 25, 2022
  254. 14/29 CI: make ci/{lib,install-dependencies}.sh POSIX-compatibleÆvar Arnfjörð Bjarmason, May 25, 2022
  255. 20/29 ci/run-test-slice.sh: replace shelling out with "echo"Ævar Arnfjörð Bjarmason, May 25, 2022
  256. 13/29 CI: remove "run-build-and-tests.sh", run "make [test]" directlyÆvar Arnfjörð Bjarmason, May 25, 2022
  257. 19/29 CI: move "env" definitions into ci/lib.shÆvar Arnfjörð Bjarmason, May 25, 2022
  258. 21/29 CI: pre-select test slice in Windows & VS testsÆvar Arnfjörð Bjarmason, May 25, 2022
  259. 22/29 CI: only invoke ci/lib.sh as "steps" in main.ymlÆvar Arnfjörð Bjarmason, May 25, 2022
  260. 23/29 CI: narrow down variable definitions in --build and --testÆvar Arnfjörð Bjarmason, May 25, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.