resources:
- repo: self
  fetchDepth: 1

jobs:
- job: windows_build
  displayName: Windows Build
  condition: succeeded()
  pool: Hosted
  timeoutInMinutes: 240
  steps:
  - powershell: |
      if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") {
        net use s: \\gitfileshare.file.core.windows.net\test-cache "$GITFILESHAREPWD" /user:AZURE\gitfileshare /persistent:no
        cmd /c mklink /d "$(Build.SourcesDirectory)\test-cache" S:\
      }
    displayName: 'Mount test-cache'
    env:
      GITFILESHAREPWD: $(gitfileshare.pwd)
  - powershell: |
      $urlbase = "https://dev.azure.com/git-for-windows/git/_apis/build/builds"
      $id = ((Invoke-WebRequest -UseBasicParsing "${urlbase}?definitions=22&statusFilter=completed&resultFilter=succeeded&`$top=1").content | ConvertFrom-JSON).value[0].id
      $downloadUrl = ((Invoke-WebRequest -UseBasicParsing "${urlbase}/$id/artifacts").content | ConvertFrom-JSON).value[1].resource.downloadUrl
      (New-Object Net.WebClient).DownloadFile($downloadUrl,"git-sdk-64-minimal.zip")
      Expand-Archive git-sdk-64-minimal.zip -DestinationPath . -Force
      Remove-Item git-sdk-64-minimal.zip

      # Let Git ignore the SDK and the test-cache
      "/git-sdk-64-minimal/`n/test-cache/`n" | Out-File -NoNewLine -Encoding ascii -Append "$(Build.SourcesDirectory)\.git\info\exclude"
    displayName: 'Download git-sdk-64-minimal'
  - powershell: |
      & git-sdk-64-minimal\usr\bin\bash.exe -lc @"
        ci/make-test-artifacts.sh artifacts
      "@
      if (!$?) { exit(1) }
    displayName: Build
    env:
      HOME: $(Build.SourcesDirectory)
      MSYSTEM: MINGW64
      DEVELOPER: 1
      NO_PERL: 1
  - task: PublishPipelineArtifact@0
    displayName: 'Publish Pipeline Artifact: test artifacts'
    inputs:
      artifactName: 'windows-artifacts'
      targetPath: '$(Build.SourcesDirectory)\artifacts'
  - task: PublishPipelineArtifact@0
    displayName: 'Publish Pipeline Artifact: git-sdk-64-minimal'
    inputs:
      artifactName: 'git-sdk-64-minimal'
      targetPath: '$(Build.SourcesDirectory)\git-sdk-64-minimal'
  - powershell: |
      if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") {
        cmd /c rmdir "$(Build.SourcesDirectory)\test-cache"
      }
    displayName: 'Unmount test-cache'
    condition: true
    env:
      GITFILESHAREPWD: $(gitfileshare.pwd)

- job: windows_test
  displayName: Windows Test
  dependsOn: windows_build
  condition: succeeded()
  pool: Hosted
  timeoutInMinutes: 240
  strategy:
    parallel: 10
  steps:
  - powershell: |
      if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") {
        net use s: \\gitfileshare.file.core.windows.net\test-cache "$GITFILESHAREPWD" /user:AZURE\gitfileshare /persistent:no
        cmd /c mklink /d "$(Build.SourcesDirectory)\test-cache" S:\
      }
    displayName: 'Mount test-cache'
    env:
      GITFILESHAREPWD: $(gitfileshare.pwd)
  - task: DownloadPipelineArtifact@0
    displayName: 'Download Pipeline Artifact: test artifacts'
    inputs:
      artifactName: 'windows-artifacts'
      targetPath: '$(Build.SourcesDirectory)'
  - task: DownloadPipelineArtifact@0
    displayName: 'Download Pipeline Artifact: git-sdk-64-minimal'
    inputs:
      artifactName: 'git-sdk-64-minimal'
      targetPath: '$(Build.SourcesDirectory)\git-sdk-64-minimal'
  - powershell: |
      & git-sdk-64-minimal\usr\bin\bash.exe -lc @"
        test -f artifacts.tar.gz || {
          echo No test artifacts found\; skipping >&2
          exit 0
        }
        tar xf artifacts.tar.gz || exit 1

        # Let Git ignore the SDK and the test-cache
        printf '%s\n' /git-sdk-64-minimal/ /test-cache/ >>.git/info/exclude

        ci/run-test-slice.sh `$SYSTEM_JOBPOSITIONINPHASE `$SYSTEM_TOTALJOBSINPHASE || {
          ci/print-test-failures.sh
          exit 1
        }
      "@
      if (!$?) { exit(1) }
    displayName: 'Test (parallel)'
    env:
      HOME: $(Build.SourcesDirectory)
      MSYSTEM: MINGW64
      NO_SVN_TESTS: 1
      GIT_TEST_SKIP_REBASE_P: 1
  - powershell: |
      if ("$GITFILESHAREPWD" -ne "" -and "$GITFILESHAREPWD" -ne "`$`(gitfileshare.pwd)") {
        cmd /c rmdir "$(Build.SourcesDirectory)\test-cache"
      }
    displayName: 'Unmount test-cache'
    condition: true
    env:
      GITFILESHAREPWD: $(gitfileshare.pwd)
  - task: PublishTestResults@2
    displayName: 'Publish Test Results **/TEST-*.xml'
    inputs:
      mergeTestResults: true
      testRunTitle: 'windows'
      platform: Windows
      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: linux_clang
  displayName: linux-clang
  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 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 || 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-clang'
      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: linux_gcc
  displayName: linux-gcc
  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

       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'
      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()
  pool: 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 || exit 1
       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()
  - task: PublishBuildArtifacts@1
    displayName: 'Publish trash directories of failed tests'
    condition: failed()
    inputs:
      PathtoPublish: t/failed-test-artifacts
      ArtifactName: failed-test-artifacts

- job: osx_gcc
  displayName: osx-gcc
  condition: succeeded()
  pool: 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

       ci/install-dependencies.sh || exit 1
       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()
  - task: PublishBuildArtifacts@1
    displayName: 'Publish trash directories of failed tests'
    condition: failed()
    inputs:
      PathtoPublish: t/failed-test-artifacts
      ArtifactName: failed-test-artifacts

- job: gettext_poison
  displayName: GETTEXT_POISON
  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 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 &&

       export jobname=GETTEXT_POISON || 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: 'gettext-poison'
      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: linux32
  displayName: Linux32
  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

       res=0
       sudo AGENT_OS="$AGENT_OS" BUILD_BUILDNUMBER="$BUILD_BUILDNUMBER" BUILD_REPOSITORY_URI="$BUILD_REPOSITORY_URI" BUILD_SOURCEBRANCH="$BUILD_SOURCEBRANCH" BUILD_SOURCEVERSION="$BUILD_SOURCEVERSION" SYSTEM_PHASENAME="$SYSTEM_PHASENAME" SYSTEM_TASKDEFINITIONSURI="$SYSTEM_TASKDEFINITIONSURI" SYSTEM_TEAMPROJECT="$SYSTEM_TEAMPROJECT" CC=$CC MAKEFLAGS="$MAKEFLAGS" bash -lxc ci/run-linux32-docker.sh || res=1

       sudo chmod a+r t/out/TEST-*.xml
       test ! -d t/failed-test-artifacts || sudo chmod a+r t/failed-test-artifacts

       test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || res=1
       exit $res
    displayName: 'ci/run-linux32-docker.sh'
    env:
      GITFILESHAREPWD: $(gitfileshare.pwd)
  - task: PublishTestResults@2
    displayName: 'Publish Test Results **/TEST-*.xml'
    inputs:
      mergeTestResults: true
      testRunTitle: 'linux32'
      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: static_analysis
  displayName: StaticAnalysis
  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 apt-get update &&
       sudo apt-get install -y coccinelle &&

       export jobname=StaticAnalysis &&

       ci/run-static-analysis.sh || exit 1

       test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1
    displayName: 'ci/run-static-analysis.sh'
    env:
      GITFILESHAREPWD: $(gitfileshare.pwd)

- job: documentation
  displayName: Documentation
  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 apt-get update &&
       sudo apt-get install -y asciidoc xmlto asciidoctor &&

       export ALREADY_HAVE_ASCIIDOCTOR=yes. &&
       export jobname=Documentation &&

       ci/test-documentation.sh || exit 1

       test "$GITFILESHAREPWD" = '$(gitfileshare.pwd)' || sudo umount "$HOME/test-cache" || exit 1
    displayName: 'ci/test-documentation.sh'
    env:
      GITFILESHAREPWD: $(gitfileshare.pwd)
