Re: [PATCH v2 06/13] Add a build definition for Azure DevOps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Gábor,

On Tue, 16 Oct 2018, SZEDER Gábor wrote:

> On Mon, Oct 15, 2018 at 03:12:06AM -0700, Johannes Schindelin via GitGitGadget wrote:
> > diff --git a/azure-pipelines.yml b/azure-pipelines.yml
> > new file mode 100644
> > index 0000000000..b5749121d2
> > --- /dev/null
> > +++ b/azure-pipelines.yml
> > @@ -0,0 +1,319 @@
> > +resources:
> > +- repo: self
> > +  fetchDepth: 1
> > +
> > +phases:
> > +- phase: linux_clang
> > +  displayName: linux-clang
> > +  condition: succeeded()
> > +  queue:
> > +    name: 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 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-bin &&
> > +
> > +       export CC=clang || exit 1
> > +
> > +       ci/install-dependencies.sh
> 
> I think you would want to 'exit 1' when this script fails.
> This applies to other build jobs (erm, phases?) below as well.

True.

FWIW the nomenclature is "build" or "job" or "build job" for the entire
run, from what I understand. The "phase" is the individual chunk that is
run in an individual agent, i.e. you can have a single job running test on
different OSes in separate phases.

> > +       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-clang'
> > +      platform: Linux
> > +      publishRunAttachments: false
> > +    condition: succeededOrFailed()
> > +
> > +- phase: linux_gcc
> > +  displayName: linux-gcc
> > +  condition: succeeded()
> > +  queue:
> > +    name: 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 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-bin || exit 1
> > +
> 
> On Travis CI the Linux GCC build job uses gcc-8 instead of whatever
> the default is in that old-ish Ubuntu LTS; see 37fa4b3c78 (travis-ci:
> run gcc-8 on linux-gcc jobs, 2018-05-19).

I'll add those dependencies explicitly. It does seem, however, from a
cursory look at the log, that gcc-8 should not even be picked up, as it is
set via the environment variable `CC` (which, as you point out in
below-referenced thread, is not respected):

[...]
2018-10-16T10:00:36.0177072Z ++ '[' linux-gcc = linux-gcc ']'
2018-10-16T10:00:36.0177380Z ++ export CC=gcc-8
2018-10-16T10:00:36.0177630Z ++ CC=gcc-8
2018-10-16T10:00:36.0177917Z ++ case "$jobname"
[...]

(see https://dev.azure.com/git/git/_build/results?buildId=192&view=logs)

> > +       ci/install-dependencies.sh
> > +       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'
> > +      platform: Linux
> > +      publishRunAttachments: false
> > +    condition: succeededOrFailed()
> > +
> > +- phase: osx_clang
> > +  displayName: osx-clang
> > +  condition: succeeded()
> > +  queue:
> > +    name: Hosted macOS
> > +  steps:
> > +  - bash: |
> > +       test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
> > +
> > +       export CC=clang
> > +
> > +       ci/install-dependencies.sh
> > +       ci/run-build-and-tests.sh || {
> > +           ci/print-test-failures.sh
> > +           exit 1
> > +       }
> > +
> > +       test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || 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: 'osx-clang'
> > +      platform: macOS
> > +      publishRunAttachments: false
> > +    condition: succeededOrFailed()
> > +
> > +- phase: osx_gcc
> > +  displayName: osx-gcc
> > +  condition: succeeded()
> > +  queue:
> > +    name: Hosted macOS
> > +  steps:
> > +  - bash: |
> > +       test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || ci/mount-fileshare.sh //gitfileshare.file.core.windows.net/test-cache gitfileshare "$GITFILESHAREPWD" "$HOME/test-cache" || exit 1
> > +
> 
> Here you should 'export CC=gcc', because on macOS 'cc' is 'clang' by
> default.
> 
> Note, however, that setting 'CC' in the environment alone has no
> effect on the build process, it will still use 'cc'.  Keep an eye on
> where this thread will lead to:
> 
>   https://public-inbox.org/git/20181016184537.GN19800@xxxxxxxxxx/T/#u

Will do.

Thanks,
Dscho

> 
> > +       ci/install-dependencies.sh
> > +       ci/run-build-and-tests.sh || {
> > +           ci/print-test-failures.sh
> > +           exit 1
> > +       }
> > +
> > +       test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || 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: 'osx-gcc'
> > +      platform: macOS
> > +      publishRunAttachments: false
> > +    condition: succeededOrFailed()
> > +
> 

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux