From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
Johannes Schindelin <johannes.schindelin@gmx.de>
Subject: Re: [PATCH 1/1] ci: split the `linux-gcc` job into two jobs
Date: Thu, 13 Jun 2019 17:33:54 +0200 [thread overview]
Message-ID: <20190613153354.GC31952@szeder.dev> (raw)
In-Reply-To: <ac102169ec6f47b8be1fe69b4798de385f102af8.1560430430.git.gitgitgadget@gmail.com>
On Thu, Jun 13, 2019 at 05:53:51AM -0700, Johannes Schindelin via GitGitGadget wrote:
> From: Johannes Schindelin <johannes.schindelin@gmx.de>
>
> This job was abused to not only run the test suite in a regular way but
> also with all kinds of `GIT_TEST_*` options set to non-default values.
>
> Let's split this into two
Why...?
> with the `linux-gcc` job running the default
> test suite, and the newly-introduced `linux-gcc-extra` job running the
> test suite in the "special" ways.
>
> Technically, we would have to build Git only once, but it would not be
> obvious how to teach Travis to transport build artifacts, so we keep it
> simple and just build Git in both jobs.
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
> .travis.yml | 4 ++++
> azure-pipelines.yml | 39 ++++++++++++++++++++++++++++++++++++++
> ci/install-dependencies.sh | 4 ++--
> ci/lib.sh | 4 ++--
> ci/run-build-and-tests.sh | 5 ++---
> 5 files changed, 49 insertions(+), 7 deletions(-)
>
> diff --git a/.travis.yml b/.travis.yml
> index ffb1bc46f2..a6444ee3ab 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -16,6 +16,10 @@ compiler:
>
> matrix:
> include:
> + - env: jobname=linux-gcc-extra
> + os: linux
> + compiler: gcc
> + addons:
> - env: jobname=GIT_TEST_GETTEXT_POISON
> os: linux
> compiler:
> diff --git a/azure-pipelines.yml b/azure-pipelines.yml
> index c329b7218b..4080aa3c45 100644
> --- a/azure-pipelines.yml
> +++ b/azure-pipelines.yml
> @@ -206,6 +206,45 @@ jobs:
> PathtoPublish: t/failed-test-artifacts
> ArtifactName: failed-test-artifacts
>
> +- job: linux_gcc_extra
> + displayName: linux-gcc-extra
> + condition: succeeded()
> + pool: Hosted Ubuntu 1604
> + steps:
> + - bash: |
> + test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
> +
> + sudo add-apt-repository ppa:ubuntu-toolchain-r/test &&
> + sudo apt-get update &&
> + sudo apt-get -y install git gcc make libssl-dev libcurl4-openssl-dev libexpat-dev tcl tk gettext git-email zlib1g-dev apache2 language-pack-is git-svn gcc-8 || exit 1
This installs packages that will be installed by
'ci/install-dependencies.sh' anyway.
> +
> + export jobname=linux-gcc-extra &&
> +
> + ci/install-dependencies.sh || exit 1
> + ci/run-build-and-tests.sh || {
> + ci/print-test-failures.sh
> + exit 1
> + }
> +
> + test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1
> + displayName: 'ci/run-build-and-tests.sh'
> + env:
> + GITFILESHAREPWD: $(gitfileshare.pwd)
> + - task: PublishTestResults@2
> + displayName: 'Publish Test Results **/TEST-*.xml'
> + inputs:
> + mergeTestResults: true
> + testRunTitle: 'linux-gcc-extra'
> + platform: Linux
> + publishRunAttachments: false
> + condition: succeededOrFailed()
> + - task: PublishBuildArtifacts@1
> + displayName: 'Publish trash directories of failed tests'
> + condition: failed()
> + inputs:
> + PathtoPublish: t/failed-test-artifacts
> + ArtifactName: failed-test-artifacts
> +
> - job: osx_clang
> displayName: osx-clang
> condition: succeeded()
> diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
> index 7f6acdd803..c25bdcdf66 100755
> --- a/ci/install-dependencies.sh
> +++ b/ci/install-dependencies.sh
> @@ -9,12 +9,12 @@ P4WHENCE=http://filehost.perforce.com/perforce/r$LINUX_P4_VERSION
> LFSWHENCE=https://github.com/github/git-lfs/releases/download/v$LINUX_GIT_LFS_VERSION
>
> case "$jobname" in
> -linux-clang|linux-gcc)
> +linux-clang|linux-gcc|linux-gcc-extra)
> sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
> sudo apt-get -q update
> sudo apt-get -q -y install language-pack-is libsvn-perl apache2
> case "$jobname" in
> - linux-gcc)
> + linux-gcc|linux-gcc-extra)
> sudo apt-get -q -y install gcc-8
> ;;
> esac
> diff --git a/ci/lib.sh b/ci/lib.sh
> index 288a5b3884..b16a1454f1 100755
> --- a/ci/lib.sh
> +++ b/ci/lib.sh
> @@ -154,8 +154,8 @@ export DEFAULT_TEST_TARGET=prove
> export GIT_TEST_CLONE_2GB=YesPlease
>
> case "$jobname" in
> -linux-clang|linux-gcc)
> - if [ "$jobname" = linux-gcc ]
> +linux-clang|linux-gcc|linux-gcc-extra)
> + if [ "$jobname" = linux-gcc -o "$jobname" = linux-gcc-extra ]
> then
> export CC=gcc-8
> fi
> diff --git a/ci/run-build-and-tests.sh b/ci/run-build-and-tests.sh
> index cdd2913440..b252ff859d 100755
> --- a/ci/run-build-and-tests.sh
> +++ b/ci/run-build-and-tests.sh
> @@ -11,8 +11,7 @@ windows*) cmd //c mklink //j t\\.prove "$(cygpath -aw "$cache_dir/.prove")";;
> esac
>
> make
> -make test
> -if test "$jobname" = "linux-gcc"
> +if test "$jobname" = "linux-gcc-extra"
> then
> export GIT_TEST_SPLIT_INDEX=yes
> export GIT_TEST_FULL_IN_PACK_ARRAY=true
> @@ -20,8 +19,8 @@ then
> export GIT_TEST_OE_DELTA_SIZE=5
> export GIT_TEST_COMMIT_GRAPH=1
> export GIT_TEST_MULTI_PACK_INDEX=1
> - make test
> fi
> +make test
>
> check_unignored_build_artifacts
>
> --
> gitgitgadget
next prev parent reply other threads:[~2019-06-13 15:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-13 12:53 [PATCH 0/1] ci: split linux-gcc into linux-gcc and linux-gcc-extra Johannes Schindelin via GitGitGadget
2019-06-13 12:53 ` [PATCH 1/1] ci: split the `linux-gcc` job into two jobs Johannes Schindelin via GitGitGadget
2019-06-13 15:33 ` SZEDER Gábor [this message]
2019-06-13 15:56 ` Junio C Hamano
2019-06-13 16:51 ` Johannes Schindelin
2019-06-13 17:43 ` SZEDER Gábor
2019-06-14 19:35 ` Johannes Schindelin
2019-06-25 8:56 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190613153354.GC31952@szeder.dev \
--to=szeder.dev@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=gitster@pobox.com \
--cc=johannes.schindelin@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.