git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
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

  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

  List information: http://vger.kernel.org/majordomo-info.html

* 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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).