Merge branch 'td/ci-large-test-resources' into jch

CI resource exhaustion during test runs on GitHub Actions has been
mitigated by switching a comparison of a huge output to use a binary
comparison, and by capping the parallel jobs on Linux to the number
of available CPUs.

* td/ci-large-test-resources:
  ci: align job counts across CI providers
  t4205: compare huge output without diff
Junio C Hamano 2026-09-28 11:04:00 -07:00
commit e909085aa8
2 changed files with 13 additions and 5 deletions

View File

@ -227,7 +227,6 @@ then
cache_dir="$HOME/none"

GIT_TEST_OPTS="--github-workflow-markup"
JOBS=10

distro=$(echo "$CI_JOB_IMAGE" | tr : -)
elif test true = "$GITLAB_CI"
@ -250,7 +249,6 @@ then
case "$OS,$CI_JOB_IMAGE" in
Windows_NT,*)
CI_OS_NAME=windows
JOBS=$NUMBER_OF_PROCESSORS
;;
*,macos-*)
# GitLab CI has Python installed via multiple package managers,
@ -260,11 +258,9 @@ then
export PATH="$(brew --prefix)/bin:$PATH"

CI_OS_NAME=osx
JOBS=$(nproc)
;;
*,almalinux:*|*,alpine:*|*,debian:*|*,fedora:*|*,ubuntu:*|*,i386/ubuntu:*)
CI_OS_NAME=linux
JOBS=$(nproc)
;;
*)
echo "Could not identify OS image" >&2
@ -291,6 +287,18 @@ else
exit 1
fi

case "$CI_OS_NAME" in
windows|windows_nt)
JOBS=$NUMBER_OF_PROCESSORS
;;
osx)
JOBS=$(sysctl -n hw.logicalcpu)
;;
*)
JOBS=$(nproc)
;;
esac

MAKEFLAGS="$MAKEFLAGS --jobs=$JOBS"
GIT_PROVE_OPTS="--timer --jobs $JOBS"


View File

@ -1189,7 +1189,7 @@ test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'set up huge commit' '
test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'log --pretty with huge commit message' '
git log -1 --format="%B%<(1)%x30" $huge_commit >actual &&
echo 0 >>expect &&
test_cmp expect actual
test_cmp_bin expect actual
'

test_expect_success EXPENSIVE,SIZE_T_IS_64BIT 'log --pretty with huge commit message does not cause allocation failure' '