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:
commit
832192728c
6 files changed
+40
-54
No files matched your search
@@ -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
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in new issue
Block a user