Merge branch 'ab/ci-updates'
Drop support for TravisCI and update test workflows at GitHub. * ab/ci-updates: CI: don't run "make test" twice in one job CI: use "$runs_on_pool", not "$jobname" to select packages & config CI: rename the "Linux32" job to lower-case "linux32" CI: use shorter names that fit in UX tooltips CI: remove Travis CI support
This commit is contained in:
commit
f9b889dd67
26
.github/workflows/main.yml
vendored
26
.github/workflows/main.yml
vendored
@ -1,4 +1,4 @@
|
|||||||
name: CI/PR
|
name: CI
|
||||||
|
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
@ -7,6 +7,7 @@ env:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ci-config:
|
ci-config:
|
||||||
|
name: config
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
enabled: ${{ steps.check-ref.outputs.enabled }}${{ steps.skip-if-redundant.outputs.enabled }}
|
enabled: ${{ steps.check-ref.outputs.enabled }}${{ steps.skip-if-redundant.outputs.enabled }}
|
||||||
@ -77,6 +78,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
|
|
||||||
windows-build:
|
windows-build:
|
||||||
|
name: win build
|
||||||
needs: ci-config
|
needs: ci-config
|
||||||
if: needs.ci-config.outputs.enabled == 'yes'
|
if: needs.ci-config.outputs.enabled == 'yes'
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
@ -97,6 +99,7 @@ jobs:
|
|||||||
name: windows-artifacts
|
name: windows-artifacts
|
||||||
path: artifacts
|
path: artifacts
|
||||||
windows-test:
|
windows-test:
|
||||||
|
name: win test
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
needs: [windows-build]
|
needs: [windows-build]
|
||||||
strategy:
|
strategy:
|
||||||
@ -127,6 +130,7 @@ jobs:
|
|||||||
name: failed-tests-windows
|
name: failed-tests-windows
|
||||||
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
||||||
vs-build:
|
vs-build:
|
||||||
|
name: win+VS build
|
||||||
needs: ci-config
|
needs: ci-config
|
||||||
if: needs.ci-config.outputs.enabled == 'yes'
|
if: needs.ci-config.outputs.enabled == 'yes'
|
||||||
env:
|
env:
|
||||||
@ -178,6 +182,7 @@ jobs:
|
|||||||
name: vs-artifacts
|
name: vs-artifacts
|
||||||
path: artifacts
|
path: artifacts
|
||||||
vs-test:
|
vs-test:
|
||||||
|
name: win+VS test
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
needs: vs-build
|
needs: vs-build
|
||||||
strategy:
|
strategy:
|
||||||
@ -210,6 +215,7 @@ jobs:
|
|||||||
name: failed-tests-windows
|
name: failed-tests-windows
|
||||||
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
||||||
regular:
|
regular:
|
||||||
|
name: ${{matrix.vector.jobname}} (${{matrix.vector.pool}})
|
||||||
needs: ci-config
|
needs: ci-config
|
||||||
if: needs.ci-config.outputs.enabled == 'yes'
|
if: needs.ci-config.outputs.enabled == 'yes'
|
||||||
strategy:
|
strategy:
|
||||||
@ -219,14 +225,25 @@ jobs:
|
|||||||
- jobname: linux-clang
|
- jobname: linux-clang
|
||||||
cc: clang
|
cc: clang
|
||||||
pool: ubuntu-latest
|
pool: ubuntu-latest
|
||||||
|
- jobname: linux-sha256
|
||||||
|
cc: clang
|
||||||
|
os: ubuntu
|
||||||
|
pool: ubuntu-latest
|
||||||
- jobname: linux-gcc
|
- jobname: linux-gcc
|
||||||
cc: gcc
|
cc: gcc
|
||||||
|
cc_package: gcc-8
|
||||||
|
pool: ubuntu-latest
|
||||||
|
- jobname: linux-TEST-vars
|
||||||
|
cc: gcc
|
||||||
|
os: ubuntu
|
||||||
|
cc_package: gcc-8
|
||||||
pool: ubuntu-latest
|
pool: ubuntu-latest
|
||||||
- jobname: osx-clang
|
- jobname: osx-clang
|
||||||
cc: clang
|
cc: clang
|
||||||
pool: macos-latest
|
pool: macos-latest
|
||||||
- jobname: osx-gcc
|
- jobname: osx-gcc
|
||||||
cc: gcc
|
cc: gcc
|
||||||
|
cc_package: gcc-9
|
||||||
pool: macos-latest
|
pool: macos-latest
|
||||||
- jobname: linux-gcc-default
|
- jobname: linux-gcc-default
|
||||||
cc: gcc
|
cc: gcc
|
||||||
@ -236,7 +253,9 @@ jobs:
|
|||||||
pool: ubuntu-latest
|
pool: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
CC: ${{matrix.vector.cc}}
|
CC: ${{matrix.vector.cc}}
|
||||||
|
CC_PACKAGE: ${{matrix.vector.cc_package}}
|
||||||
jobname: ${{matrix.vector.jobname}}
|
jobname: ${{matrix.vector.jobname}}
|
||||||
|
runs_on_pool: ${{matrix.vector.pool}}
|
||||||
runs-on: ${{matrix.vector.pool}}
|
runs-on: ${{matrix.vector.pool}}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@ -251,6 +270,7 @@ jobs:
|
|||||||
name: failed-tests-${{matrix.vector.jobname}}
|
name: failed-tests-${{matrix.vector.jobname}}
|
||||||
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
path: ${{env.FAILED_TEST_ARTIFACTS}}
|
||||||
dockerized:
|
dockerized:
|
||||||
|
name: ${{matrix.vector.jobname}} (${{matrix.vector.image}})
|
||||||
needs: ci-config
|
needs: ci-config
|
||||||
if: needs.ci-config.outputs.enabled == 'yes'
|
if: needs.ci-config.outputs.enabled == 'yes'
|
||||||
strategy:
|
strategy:
|
||||||
@ -259,7 +279,8 @@ jobs:
|
|||||||
vector:
|
vector:
|
||||||
- jobname: linux-musl
|
- jobname: linux-musl
|
||||||
image: alpine
|
image: alpine
|
||||||
- jobname: Linux32
|
- jobname: linux32
|
||||||
|
os: ubuntu32
|
||||||
image: daald/ubuntu32:xenial
|
image: daald/ubuntu32:xenial
|
||||||
- jobname: pedantic
|
- jobname: pedantic
|
||||||
image: fedora
|
image: fedora
|
||||||
@ -311,6 +332,7 @@ jobs:
|
|||||||
run: ci/install-dependencies.sh
|
run: ci/install-dependencies.sh
|
||||||
- run: make sparse
|
- run: make sparse
|
||||||
documentation:
|
documentation:
|
||||||
|
name: documentation
|
||||||
needs: ci-config
|
needs: ci-config
|
||||||
if: needs.ci-config.outputs.enabled == 'yes'
|
if: needs.ci-config.outputs.enabled == 'yes'
|
||||||
env:
|
env:
|
||||||
|
60
.travis.yml
60
.travis.yml
@ -1,60 +0,0 @@
|
|||||||
language: c
|
|
||||||
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- $HOME/travis-cache
|
|
||||||
|
|
||||||
os:
|
|
||||||
- linux
|
|
||||||
- osx
|
|
||||||
|
|
||||||
osx_image: xcode10.1
|
|
||||||
|
|
||||||
compiler:
|
|
||||||
- clang
|
|
||||||
- gcc
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- env: jobname=linux-gcc-default
|
|
||||||
os: linux
|
|
||||||
compiler:
|
|
||||||
addons:
|
|
||||||
before_install:
|
|
||||||
- env: jobname=linux-gcc-4.8
|
|
||||||
os: linux
|
|
||||||
dist: trusty
|
|
||||||
compiler:
|
|
||||||
- env: jobname=Linux32
|
|
||||||
os: linux
|
|
||||||
compiler:
|
|
||||||
addons:
|
|
||||||
services:
|
|
||||||
- docker
|
|
||||||
before_install:
|
|
||||||
script: ci/run-docker.sh
|
|
||||||
- env: jobname=linux-musl
|
|
||||||
os: linux
|
|
||||||
compiler:
|
|
||||||
addons:
|
|
||||||
services:
|
|
||||||
- docker
|
|
||||||
before_install:
|
|
||||||
script: ci/run-docker.sh
|
|
||||||
- env: jobname=StaticAnalysis
|
|
||||||
os: linux
|
|
||||||
compiler:
|
|
||||||
script: ci/run-static-analysis.sh
|
|
||||||
after_failure:
|
|
||||||
- env: jobname=Documentation
|
|
||||||
os: linux
|
|
||||||
compiler:
|
|
||||||
script: ci/test-documentation.sh
|
|
||||||
after_failure:
|
|
||||||
|
|
||||||
before_install: ci/install-dependencies.sh
|
|
||||||
script: ci/run-build-and-tests.sh
|
|
||||||
after_failure: ci/print-test-failures.sh
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
email: false
|
|
@ -1,4 +1,4 @@
|
|||||||
[![Build status](https://github.com/git/git/workflows/CI/PR/badge.svg)](https://github.com/git/git/actions?query=branch%3Amaster+event%3Apush)
|
[![Build status](https://github.com/git/git/workflows/CI/badge.svg)](https://github.com/git/git/actions?query=branch%3Amaster+event%3Apush)
|
||||||
|
|
||||||
Git - fast, scalable, distributed revision control system
|
Git - fast, scalable, distributed revision control system
|
||||||
=========================================================
|
=========================================================
|
||||||
|
@ -11,18 +11,11 @@ UBUNTU_COMMON_PKGS="make libssl-dev libcurl4-openssl-dev libexpat-dev
|
|||||||
tcl tk gettext zlib1g-dev perl-modules liberror-perl libauthen-sasl-perl
|
tcl tk gettext zlib1g-dev perl-modules liberror-perl libauthen-sasl-perl
|
||||||
libemail-valid-perl libio-socket-ssl-perl libnet-smtp-ssl-perl"
|
libemail-valid-perl libio-socket-ssl-perl libnet-smtp-ssl-perl"
|
||||||
|
|
||||||
case "$jobname" in
|
case "$runs_on_pool" in
|
||||||
linux-clang|linux-gcc|linux-leaks)
|
ubuntu-latest)
|
||||||
sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
|
|
||||||
sudo apt-get -q update
|
sudo apt-get -q update
|
||||||
sudo apt-get -q -y install language-pack-is libsvn-perl apache2 \
|
sudo apt-get -q -y install language-pack-is libsvn-perl apache2 \
|
||||||
$UBUNTU_COMMON_PKGS
|
$UBUNTU_COMMON_PKGS $CC_PACKAGE
|
||||||
case "$jobname" in
|
|
||||||
linux-gcc)
|
|
||||||
sudo apt-get -q -y install gcc-8
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
mkdir --parents "$P4_PATH"
|
mkdir --parents "$P4_PATH"
|
||||||
pushd "$P4_PATH"
|
pushd "$P4_PATH"
|
||||||
wget --quiet "$P4WHENCE/bin.linux26x86_64/p4d"
|
wget --quiet "$P4WHENCE/bin.linux26x86_64/p4d"
|
||||||
@ -37,7 +30,7 @@ linux-clang|linux-gcc|linux-leaks)
|
|||||||
cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
|
cp git-lfs-$LINUX_GIT_LFS_VERSION/git-lfs .
|
||||||
popd
|
popd
|
||||||
;;
|
;;
|
||||||
osx-clang|osx-gcc)
|
macos-latest)
|
||||||
export HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1
|
export HOMEBREW_NO_AUTO_UPDATE=1 HOMEBREW_NO_INSTALL_CLEANUP=1
|
||||||
# Uncomment this if you want to run perf tests:
|
# Uncomment this if you want to run perf tests:
|
||||||
# brew install gnu-time
|
# brew install gnu-time
|
||||||
@ -51,15 +44,17 @@ osx-clang|osx-gcc)
|
|||||||
brew install --cask --no-quarantine perforce
|
brew install --cask --no-quarantine perforce
|
||||||
} ||
|
} ||
|
||||||
brew install homebrew/cask/perforce
|
brew install homebrew/cask/perforce
|
||||||
case "$jobname" in
|
|
||||||
osx-gcc)
|
if test -n "$CC_PACKAGE"
|
||||||
brew install gcc@9
|
then
|
||||||
# Just in case the image is updated to contain gcc@9
|
BREW_PACKAGE=${CC_PACKAGE/-/@}
|
||||||
# pre-installed but not linked.
|
brew install "$BREW_PACKAGE"
|
||||||
brew link gcc@9
|
brew link "$BREW_PACKAGE"
|
||||||
;;
|
fi
|
||||||
esac
|
|
||||||
;;
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case "$jobname" in
|
||||||
StaticAnalysis)
|
StaticAnalysis)
|
||||||
sudo apt-get -q update
|
sudo apt-get -q update
|
||||||
sudo apt-get -q -y install coccinelle libcurl4-openssl-dev libssl-dev \
|
sudo apt-get -q -y install coccinelle libcurl4-openssl-dev libssl-dev \
|
||||||
@ -77,7 +72,7 @@ Documentation)
|
|||||||
test -n "$ALREADY_HAVE_ASCIIDOCTOR" ||
|
test -n "$ALREADY_HAVE_ASCIIDOCTOR" ||
|
||||||
sudo gem install --version 1.5.8 asciidoctor
|
sudo gem install --version 1.5.8 asciidoctor
|
||||||
;;
|
;;
|
||||||
linux-gcc-default|linux-gcc-4.8)
|
linux-gcc-default)
|
||||||
sudo apt-get -q update
|
sudo apt-get -q update
|
||||||
sudo apt-get -q -y install $UBUNTU_COMMON_PKGS
|
sudo apt-get -q -y install $UBUNTU_COMMON_PKGS
|
||||||
;;
|
;;
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
case "$jobname" in
|
case "$jobname" in
|
||||||
Linux32)
|
linux32)
|
||||||
linux32 --32bit i386 sh -c '
|
linux32 --32bit i386 sh -c '
|
||||||
apt update >/dev/null &&
|
apt update >/dev/null &&
|
||||||
apt install -y build-essential libcurl4-openssl-dev \
|
apt install -y build-essential libcurl4-openssl-dev \
|
||||||
|
60
ci/lib.sh
60
ci/lib.sh
@ -34,7 +34,7 @@ save_good_tree () {
|
|||||||
# successfully before (e.g. because the branch got rebased, changing only
|
# successfully before (e.g. because the branch got rebased, changing only
|
||||||
# the commit messages).
|
# the commit messages).
|
||||||
skip_good_tree () {
|
skip_good_tree () {
|
||||||
if test "$TRAVIS_DEBUG_MODE" = true || test true = "$GITHUB_ACTIONS"
|
if test true = "$GITHUB_ACTIONS"
|
||||||
then
|
then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
@ -60,7 +60,7 @@ skip_good_tree () {
|
|||||||
cat <<-EOF
|
cat <<-EOF
|
||||||
$(tput setaf 2)Skipping build job for commit $CI_COMMIT.$(tput sgr0)
|
$(tput setaf 2)Skipping build job for commit $CI_COMMIT.$(tput sgr0)
|
||||||
This commit's tree has already been built and tested successfully in build job $prev_good_job_number for commit $prev_good_commit.
|
This commit's tree has already been built and tested successfully in build job $prev_good_job_number for commit $prev_good_commit.
|
||||||
The log of that build job is available at $(url_for_job_id $prev_good_job_id)
|
The log of that build job is available at $SYSTEM_TASKDEFINITIONSURI$SYSTEM_TEAMPROJECT/_build/results?buildId=$prev_good_job_id
|
||||||
To force a re-build delete the branch's cache and then hit 'Restart job'.
|
To force a re-build delete the branch's cache and then hit 'Restart job'.
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
@ -91,29 +91,7 @@ export MAKEFLAGS=
|
|||||||
# and installing dependencies.
|
# and installing dependencies.
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
if test true = "$TRAVIS"
|
if test -n "$SYSTEM_COLLECTIONURI" || test -n "$SYSTEM_TASKDEFINITIONSURI"
|
||||||
then
|
|
||||||
CI_TYPE=travis
|
|
||||||
# When building a PR, TRAVIS_BRANCH refers to the *target* branch. Not
|
|
||||||
# what we want here. We want the source branch instead.
|
|
||||||
CI_BRANCH="${TRAVIS_PULL_REQUEST_BRANCH:-$TRAVIS_BRANCH}"
|
|
||||||
CI_COMMIT="$TRAVIS_COMMIT"
|
|
||||||
CI_JOB_ID="$TRAVIS_JOB_ID"
|
|
||||||
CI_JOB_NUMBER="$TRAVIS_JOB_NUMBER"
|
|
||||||
CI_OS_NAME="$TRAVIS_OS_NAME"
|
|
||||||
CI_REPO_SLUG="$TRAVIS_REPO_SLUG"
|
|
||||||
|
|
||||||
cache_dir="$HOME/travis-cache"
|
|
||||||
|
|
||||||
url_for_job_id () {
|
|
||||||
echo "https://travis-ci.org/$CI_REPO_SLUG/jobs/$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
BREW_INSTALL_PACKAGES="git-lfs gettext"
|
|
||||||
export GIT_PROVE_OPTS="--timer --jobs 3 --state=failed,slow,save"
|
|
||||||
export GIT_TEST_OPTS="--verbose-log -x --immediate"
|
|
||||||
MAKEFLAGS="$MAKEFLAGS --jobs=2"
|
|
||||||
elif test -n "$SYSTEM_COLLECTIONURI" || test -n "$SYSTEM_TASKDEFINITIONSURI"
|
|
||||||
then
|
then
|
||||||
CI_TYPE=azure-pipelines
|
CI_TYPE=azure-pipelines
|
||||||
# We are running in Azure Pipelines
|
# We are running in Azure Pipelines
|
||||||
@ -130,10 +108,6 @@ then
|
|||||||
# among *all* phases)
|
# among *all* phases)
|
||||||
cache_dir="$HOME/test-cache/$SYSTEM_PHASENAME"
|
cache_dir="$HOME/test-cache/$SYSTEM_PHASENAME"
|
||||||
|
|
||||||
url_for_job_id () {
|
|
||||||
echo "$SYSTEM_TASKDEFINITIONSURI$SYSTEM_TEAMPROJECT/_build/results?buildId=$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
export GIT_PROVE_OPTS="--timer --jobs 10 --state=failed,slow,save"
|
export GIT_PROVE_OPTS="--timer --jobs 10 --state=failed,slow,save"
|
||||||
export GIT_TEST_OPTS="--verbose-log -x --write-junit-xml"
|
export GIT_TEST_OPTS="--verbose-log -x --write-junit-xml"
|
||||||
MAKEFLAGS="$MAKEFLAGS --jobs=10"
|
MAKEFLAGS="$MAKEFLAGS --jobs=10"
|
||||||
@ -182,11 +156,15 @@ export DEFAULT_TEST_TARGET=prove
|
|||||||
export GIT_TEST_CLONE_2GB=true
|
export GIT_TEST_CLONE_2GB=true
|
||||||
export SKIP_DASHED_BUILT_INS=YesPlease
|
export SKIP_DASHED_BUILT_INS=YesPlease
|
||||||
|
|
||||||
case "$jobname" in
|
case "$runs_on_pool" in
|
||||||
linux-clang|linux-gcc|linux-leaks)
|
ubuntu-latest)
|
||||||
|
if test "$jobname" = "linux-gcc-default"
|
||||||
|
then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$jobname" = linux-gcc ]
|
if [ "$jobname" = linux-gcc ]
|
||||||
then
|
then
|
||||||
export CC=gcc-8
|
|
||||||
MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/python3"
|
MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/python3"
|
||||||
else
|
else
|
||||||
MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/python2"
|
MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=/usr/bin/python2"
|
||||||
@ -206,23 +184,18 @@ linux-clang|linux-gcc|linux-leaks)
|
|||||||
GIT_LFS_PATH="$HOME/custom/git-lfs"
|
GIT_LFS_PATH="$HOME/custom/git-lfs"
|
||||||
export PATH="$GIT_LFS_PATH:$P4_PATH:$PATH"
|
export PATH="$GIT_LFS_PATH:$P4_PATH:$PATH"
|
||||||
;;
|
;;
|
||||||
osx-clang|osx-gcc)
|
macos-latest)
|
||||||
if [ "$jobname" = osx-gcc ]
|
if [ "$jobname" = osx-gcc ]
|
||||||
then
|
then
|
||||||
export CC=gcc-9
|
|
||||||
MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=$(which python3)"
|
MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=$(which python3)"
|
||||||
else
|
else
|
||||||
MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=$(which python2)"
|
MAKEFLAGS="$MAKEFLAGS PYTHON_PATH=$(which python2)"
|
||||||
fi
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# t9810 occasionally fails on Travis CI OS X
|
case "$jobname" in
|
||||||
# t9816 occasionally fails with "TAP out of sequence errors" on
|
linux32)
|
||||||
# Travis CI OS X
|
|
||||||
export GIT_SKIP_TESTS="t9810 t9816"
|
|
||||||
;;
|
|
||||||
linux-gcc-default)
|
|
||||||
;;
|
|
||||||
Linux32)
|
|
||||||
CC=gcc
|
CC=gcc
|
||||||
MAKEFLAGS="$MAKEFLAGS NO_UNCOMPRESS2=1"
|
MAKEFLAGS="$MAKEFLAGS NO_UNCOMPRESS2=1"
|
||||||
;;
|
;;
|
||||||
@ -232,9 +205,6 @@ linux-musl)
|
|||||||
MAKEFLAGS="$MAKEFLAGS NO_REGEX=Yes ICONV_OMITS_BOM=Yes"
|
MAKEFLAGS="$MAKEFLAGS NO_REGEX=Yes ICONV_OMITS_BOM=Yes"
|
||||||
MAKEFLAGS="$MAKEFLAGS GIT_TEST_UTF8_LOCALE=C.UTF-8"
|
MAKEFLAGS="$MAKEFLAGS GIT_TEST_UTF8_LOCALE=C.UTF-8"
|
||||||
;;
|
;;
|
||||||
esac
|
|
||||||
|
|
||||||
case "$jobname" in
|
|
||||||
linux-leaks)
|
linux-leaks)
|
||||||
export SANITIZE=leak
|
export SANITIZE=leak
|
||||||
export GIT_TEST_PASSING_SANITIZE_LEAK=true
|
export GIT_TEST_PASSING_SANITIZE_LEAK=true
|
||||||
|
@ -39,8 +39,6 @@ do
|
|||||||
test_name="${test_name##*/}"
|
test_name="${test_name##*/}"
|
||||||
trash_dir="trash directory.$test_name"
|
trash_dir="trash directory.$test_name"
|
||||||
case "$CI_TYPE" in
|
case "$CI_TYPE" in
|
||||||
travis)
|
|
||||||
;;
|
|
||||||
azure-pipelines)
|
azure-pipelines)
|
||||||
mkdir -p failed-test-artifacts
|
mkdir -p failed-test-artifacts
|
||||||
mv "$trash_dir" failed-test-artifacts
|
mv "$trash_dir" failed-test-artifacts
|
||||||
@ -88,11 +86,3 @@ do
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ $combined_trash_size -gt 0 ]
|
|
||||||
then
|
|
||||||
echo "------------------------------------------------------------------------"
|
|
||||||
echo "Trash directories embedded in this log can be extracted by running:"
|
|
||||||
echo
|
|
||||||
echo " curl https://api.travis-ci.org/v3/job/$TRAVIS_JOB_ID/log.txt |./ci/util/extract-trash-dirs.sh"
|
|
||||||
fi
|
|
||||||
|
@ -10,16 +10,13 @@ windows*) cmd //c mklink //j t\\.prove "$(cygpath -aw "$cache_dir/.prove")";;
|
|||||||
*) ln -s "$cache_dir/.prove" t/.prove;;
|
*) ln -s "$cache_dir/.prove" t/.prove;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if test "$jobname" = "pedantic"
|
export MAKE_TARGETS="all test"
|
||||||
then
|
|
||||||
export DEVOPTS=pedantic
|
|
||||||
fi
|
|
||||||
|
|
||||||
make
|
|
||||||
case "$jobname" in
|
case "$jobname" in
|
||||||
linux-gcc)
|
linux-gcc)
|
||||||
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
|
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
|
||||||
make test
|
;;
|
||||||
|
linux-TEST-vars)
|
||||||
export GIT_TEST_SPLIT_INDEX=yes
|
export GIT_TEST_SPLIT_INDEX=yes
|
||||||
export GIT_TEST_MERGE_ALGORITHM=recursive
|
export GIT_TEST_MERGE_ALGORITHM=recursive
|
||||||
export GIT_TEST_FULL_IN_PACK_ARRAY=true
|
export GIT_TEST_FULL_IN_PACK_ARRAY=true
|
||||||
@ -33,23 +30,25 @@ linux-gcc)
|
|||||||
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
|
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
|
||||||
export GIT_TEST_WRITE_REV_INDEX=1
|
export GIT_TEST_WRITE_REV_INDEX=1
|
||||||
export GIT_TEST_CHECKOUT_WORKERS=2
|
export GIT_TEST_CHECKOUT_WORKERS=2
|
||||||
make test
|
|
||||||
;;
|
;;
|
||||||
linux-clang)
|
linux-clang)
|
||||||
export GIT_TEST_DEFAULT_HASH=sha1
|
export GIT_TEST_DEFAULT_HASH=sha1
|
||||||
make test
|
;;
|
||||||
|
linux-sha256)
|
||||||
export GIT_TEST_DEFAULT_HASH=sha256
|
export GIT_TEST_DEFAULT_HASH=sha256
|
||||||
make test
|
|
||||||
;;
|
;;
|
||||||
linux-gcc-4.8|pedantic)
|
pedantic)
|
||||||
# Don't run the tests; we only care about whether Git can be
|
# Don't run the tests; we only care about whether Git can be
|
||||||
# built with GCC 4.8 or with pedantic
|
# built.
|
||||||
;;
|
export DEVOPTS=pedantic
|
||||||
*)
|
export MAKE_TARGETS=all
|
||||||
make test
|
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
check_unignored_build_artifacts
|
||||||
|
|
||||||
save_good_tree
|
save_good_tree
|
||||||
|
@ -15,7 +15,7 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
case "$jobname" in
|
case "$jobname" in
|
||||||
Linux32)
|
linux32)
|
||||||
switch_cmd="linux32 --32bit i386"
|
switch_cmd="linux32 --32bit i386"
|
||||||
;;
|
;;
|
||||||
linux-musl)
|
linux-musl)
|
||||||
@ -47,15 +47,6 @@ else
|
|||||||
else
|
else
|
||||||
useradd -u $HOST_UID $CI_USER
|
useradd -u $HOST_UID $CI_USER
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Due to a bug the test suite was run as root in the past, so
|
|
||||||
# a prove state file created back then is only accessible by
|
|
||||||
# root. Now that bug is fixed, the test suite is run as a
|
|
||||||
# regular user, but the prove state file coming from Travis
|
|
||||||
# CI's cache might still be owned by root.
|
|
||||||
# Make sure that this user has rights to any cached files,
|
|
||||||
# including an existing prove state file.
|
|
||||||
test -n "$cache_dir" && chown -R $HOST_UID:$HOST_UID "$cache_dir"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Build and test
|
# Build and test
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
. ${0%/*}/lib.sh
|
. ${0%/*}/lib.sh
|
||||||
|
|
||||||
case "$jobname" in
|
case "$jobname" in
|
||||||
Linux32)
|
linux32)
|
||||||
CI_CONTAINER="daald/ubuntu32:xenial"
|
CI_CONTAINER="daald/ubuntu32:xenial"
|
||||||
;;
|
;;
|
||||||
linux-musl)
|
linux-musl)
|
||||||
@ -25,7 +25,7 @@ docker pull "$CI_CONTAINER"
|
|||||||
# root@container:/# export jobname=<jobname>
|
# root@container:/# export jobname=<jobname>
|
||||||
# root@container:/# /usr/src/git/ci/run-docker-build.sh <host-user-id>
|
# root@container:/# /usr/src/git/ci/run-docker-build.sh <host-user-id>
|
||||||
|
|
||||||
container_cache_dir=/tmp/travis-cache
|
container_cache_dir=/tmp/container-cache
|
||||||
|
|
||||||
docker run \
|
docker run \
|
||||||
--interactive \
|
--interactive \
|
||||||
|
Loading…
Reference in New Issue
Block a user