Merge branch 'ps/ci-housekeeping-and-modernizations'

Various CI jobs have been updated to use modern OS images, drop dead
code, and remove redundant jobs. Support for Python 2 in CI has been
removed, and the linux-TEST-vars job has been renamed to
linux-feature-testbed.

* ps/ci-housekeeping-and-modernizations:
  ci: improve reftable test coverage
  ci: drop now-dead Python 2 coverage
  ci: switch away from EOL'd Ubuntu version in linux-feature-testbed
  ci: rename linux-TEST-vars job
  ci: switch away from unsupported i386/ubuntu image
  ci: drop unused "linux-clang" logic
  ci: fix "fedora-breaking-changes-meson" job
  t5004: fix test creating an archive with large objects under SHA256
This commit is contained in:
Junio C Hamano committed 2026-10-26 07:28:00 -07:00
commit 832192728c
6 files changed
+40 -54

No files matched your search

+4 -7
View File
@@ -405,13 +405,11 @@ jobs:
- jobname: linux-sha256
image: ubuntu:rolling
cc: clang
- jobname: linux-reftable
- jobname: linux-reftable-sha256
image: ubuntu:rolling
cc: clang
- jobname: linux-TEST-vars
image: ubuntu:20.04
cc: gcc
cc_package: gcc-8
- jobname: linux-feature-testbed
image: ubuntu:latest
- jobname: linux-breaking-changes
cc: gcc
image: ubuntu:rolling
@@ -431,9 +429,8 @@ jobs:
cc: gcc
- jobname: linux-musl-meson
image: alpine:latest
# Supported until 2025-04-02.
- jobname: linux32
image: i386/ubuntu:20.04
image: i386/debian:latest
# A RHEL 8 compatible distro. Supported until 2029-05-31.
- jobname: almalinux-8
image: almalinux:8
+4 -7
View File
@@ -39,13 +39,11 @@ test:linux:
- jobname: linux-sha256
image: ubuntu:rolling
CC: clang
- jobname: linux-reftable
- jobname: linux-reftable-sha256
image: ubuntu:rolling
CC: clang
- jobname: linux-TEST-vars
image: ubuntu:20.04
CC: gcc
CC_PACKAGE: gcc-8
- jobname: linux-feature-testbed
image: ubuntu:latest
- jobname: linux-breaking-changes
image: ubuntu:rolling
CC: gcc
@@ -65,9 +63,8 @@ test:linux:
CC: gcc
- jobname: linux-musl-meson
image: alpine:latest
# Supported until 2025-04-02.
- jobname: linux32
image: i386/ubuntu:20.04
image: i386/debian:latest
# A RHEL 8 compatible distro. Supported until 2029-05-31.
- jobname: almalinux-8
image: almalinux:8
+2 -6
View File
@@ -39,7 +39,7 @@ fedora-*|almalinux-*)
dnf -yq update >/dev/null &&
dnf -yq install shadow-utils sudo make pkg-config gcc findutils diffutils perl python3 gawk gettext zlib-devel expat-devel openssl-devel curl-devel pcre2-devel $MESON_DEPS cargo >/dev/null
;;
ubuntu-*|i386/ubuntu-*|debian-*)
ubuntu-*|i386/debian-*|debian-*)
# Required so that apt doesn't wait for user input on certain packages.
export DEBIAN_FRONTEND=noninteractive
@@ -48,10 +48,6 @@ ubuntu-*|i386/ubuntu-*|debian-*)
SVN='libsvn-perl subversion'
LANGUAGES='language-pack-is'
;;
i386/ubuntu-*)
SVN=
LANGUAGES='language-pack-is'
;;
*)
SVN='libsvn-perl subversion'
LANGUAGES='locales-all'
@@ -65,7 +61,7 @@ ubuntu-*|i386/ubuntu-*|debian-*)
tcl tk gettext zlib1g-dev perl-modules liberror-perl libauthen-sasl-perl \
libemail-valid-perl libio-pty-perl libio-socket-ssl-perl libnet-smtp-ssl-perl libdbd-sqlite3-perl libcgi-pm-perl \
libsecret-1-dev libpcre2-dev meson ninja-build pkg-config cargo \
${CC_PACKAGE:-${CC:-gcc}} $PYTHON_PACKAGE
${CC_PACKAGE:-${CC:-gcc}} python3
# Starting with Ubuntu 25.10, sudo can now be provided via either
# sudo(1) or sudo-rs(1), with the latter being the default. The problem
+2 -11
View File
@@ -259,7 +259,7 @@ then
CI_OS_NAME=osx
;;
*,almalinux:*|*,alpine:*|*,debian:*|*,fedora:*|*,ubuntu:*|*,i386/ubuntu:*)
*,almalinux:*|*,alpine:*|*,debian:*|*,fedora:*|*,ubuntu:*|*,i386/debian:*)
CI_OS_NAME=linux
;;
*)
@@ -344,16 +344,7 @@ esac
case "$distro" in
ubuntu-*)
# Python 2 is end of life, and Ubuntu 23.04 and newer don't actually
# have it anymore. We thus only test with Python 2 on older LTS
# releases.
if test "$distro" = "ubuntu-20.04"
then
PYTHON_PACKAGE=python2
else
PYTHON_PACKAGE=python3
fi
MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/$PYTHON_PACKAGE"
MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/python3"
export GIT_TEST_HTTPD=true
+7 -8
View File
@@ -18,11 +18,11 @@ almalinux-*|debian-*|fedora-*|linux-*)
esac
case "$jobname" in
fedora-breaking-changes-musl|linux-breaking-changes)
fedora-breaking-changes-meson|linux-breaking-changes)
export WITH_BREAKING_CHANGES=YesPlease
MESONFLAGS="$MESONFLAGS -Dbreaking_changes=true"
;;
linux-TEST-vars)
linux-feature-testbed)
export OPENSSL_SHA1_UNSAFE=YesPlease
export GIT_TEST_SPLIT_INDEX=yes
export GIT_TEST_FULL_IN_PACK_ARRAY=true
@@ -37,17 +37,16 @@ linux-TEST-vars)
export GIT_TEST_CHECKOUT_WORKERS=2
export GIT_TEST_PACK_USE_BITMAP_BOUNDARY_TRAVERSAL=1
;;
linux-clang)
export NO_RUST=UnfortunatelyYes
export GIT_TEST_DEFAULT_HASH=sha1
;;
linux-sha256)
export GIT_TEST_DEFAULT_HASH=sha256
;;
linux-reftable|linux-reftable-leaks|osx-reftable)
linux-reftable-sha256)
export GIT_TEST_DEFAULT_REF_STORAGE_FORMAT=reftable
export GIT_TEST_DEFAULT_HASH=sha256
;;
linux-reftable-leaks|osx-reftable)
export GIT_TEST_DEFAULT_REF_STORAGE_FORMAT=reftable
;;
esac
case "$jobname" in
+21 -15
View File
@@ -187,25 +187,31 @@ test_expect_success EXPENSIVE,UNZIP,UNZIP_ZIP64_SUPPORT \
test_expect_success EXPENSIVE,LONG_IS_64BIT,UNZIP,UNZIP_ZIP64_SUPPORT,ZIPINFO \
'zip archive with files bigger than 4GB' '
# Pack created with:
# dd if=/dev/zero of=file bs=1M count=4100 && git hash-object -w file
mkdir -p .git/objects/pack &&
test_when_finished rm -rf big-file &&
git init --object-format=sha1 big-file &&
(
cd .git/objects/pack &&
"$GIT_UNZIP" "$TEST_DIRECTORY"/t5004/big-pack.zip
) &&
blob=754a93d6fada4c6873360e6cb4b209132271ab0e &&
size=$(expr 4100 "*" 1024 "*" 1024) &&
cd big-file &&
# create a tree containing the file
tree=$(echo "100644 blob $blob big-file" | git mktree) &&
# Pack created with:
# dd if=/dev/zero of=file bs=1M count=4100 && git hash-object -w file
mkdir -p .git/objects/pack &&
(
cd .git/objects/pack &&
"$GIT_UNZIP" "$TEST_DIRECTORY"/t5004/big-pack.zip
) &&
blob=754a93d6fada4c6873360e6cb4b209132271ab0e &&
size=$(expr 4100 "*" 1024 "*" 1024) &&
# zip it, creating an archive with a file bigger than 4GB
git archive -o big.zip $tree &&
# create a tree containing the file
tree=$(echo "100644 blob $blob big-file" | git mktree) &&
"$GIT_UNZIP" -t big.zip &&
"$ZIPINFO" big.zip >big.lst &&
test_grep $size big.lst
# zip it, creating an archive with a file bigger than 4GB
git archive -o big.zip $tree &&
"$GIT_UNZIP" -t big.zip &&
"$ZIPINFO" big.zip >big.lst &&
test_grep $size big.lst
)
'
build_tree() {