diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b229739be8..fe8155772a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -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 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3f24835500..9b7698a003 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh index d57dce5663..4b1733ad15 100755 --- a/ci/install-dependencies.sh +++ b/ci/install-dependencies.sh @@ -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 diff --git a/ci/lib.sh b/ci/lib.sh index ca80ea7bde..2e63d65254 100755 --- a/ci/lib.sh +++ b/ci/lib.sh @@ -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 diff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh index 6a3b43b366..68b91e3143 100755 --- a/ci/run-build-and-tests.sh +++ b/ci/run-build-and-tests.sh @@ -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 diff --git a/t/t5004-archive-corner-cases.sh b/t/t5004-archive-corner-cases.sh index 768b0ff85d..13edfbe5bc 100755 --- a/t/t5004-archive-corner-cases.sh +++ b/t/t5004-archive-corner-cases.sh @@ -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() {