update
							parent
							
								
									fdef7843ee
								
							
						
					
					
						commit
						5a7abdc250
					
				@ -1,65 +0,0 @@
 | 
				
			|||||||
name: $(date:yyyyMMdd)$(rev:.r)-Go-$(VERSION)
 | 
					 | 
				
			||||||
trigger: none
 | 
					 | 
				
			||||||
pr:
 | 
					 | 
				
			||||||
  autoCancel: true
 | 
					 | 
				
			||||||
  branches:
 | 
					 | 
				
			||||||
    include:
 | 
					 | 
				
			||||||
    - main
 | 
					 | 
				
			||||||
  paths:
 | 
					 | 
				
			||||||
    exclude:
 | 
					 | 
				
			||||||
    - versions-manifest.json
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
stages:
 | 
					 | 
				
			||||||
- stage: Build_Go_Darwin
 | 
					 | 
				
			||||||
  dependsOn: []
 | 
					 | 
				
			||||||
  variables:
 | 
					 | 
				
			||||||
    Platform: darwin
 | 
					 | 
				
			||||||
    Architecture: x64
 | 
					 | 
				
			||||||
  jobs:
 | 
					 | 
				
			||||||
  - template: /azure-pipelines/templates/build-job.yml
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- stage: Test_Go_Darwin
 | 
					 | 
				
			||||||
  condition: succeeded()
 | 
					 | 
				
			||||||
  dependsOn: Build_Go_Darwin
 | 
					 | 
				
			||||||
  variables:
 | 
					 | 
				
			||||||
    VmImage: macOS-latest
 | 
					 | 
				
			||||||
    Platform: darwin
 | 
					 | 
				
			||||||
    Architecture: x64
 | 
					 | 
				
			||||||
  jobs:
 | 
					 | 
				
			||||||
  - template: /azure-pipelines/templates/test-job.yml
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- stage: Build_Go_Linux
 | 
					 | 
				
			||||||
  dependsOn: []
 | 
					 | 
				
			||||||
  variables:
 | 
					 | 
				
			||||||
    Platform: linux
 | 
					 | 
				
			||||||
    Architecture: x64
 | 
					 | 
				
			||||||
  jobs:
 | 
					 | 
				
			||||||
  - template: /azure-pipelines/templates/build-job.yml
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- stage: Test_Go_Linux
 | 
					 | 
				
			||||||
  condition: succeeded()
 | 
					 | 
				
			||||||
  dependsOn: Build_Go_Linux
 | 
					 | 
				
			||||||
  variables:
 | 
					 | 
				
			||||||
    VmImage: ubuntu-latest
 | 
					 | 
				
			||||||
    Platform: linux
 | 
					 | 
				
			||||||
    Architecture: x64
 | 
					 | 
				
			||||||
  jobs:
 | 
					 | 
				
			||||||
  - template: /azure-pipelines/templates/test-job.yml
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- stage: Build_Go_Windows
 | 
					 | 
				
			||||||
  dependsOn: []
 | 
					 | 
				
			||||||
  variables:
 | 
					 | 
				
			||||||
    Platform: win32
 | 
					 | 
				
			||||||
    Architecture: x64
 | 
					 | 
				
			||||||
  jobs:
 | 
					 | 
				
			||||||
  - template: /azure-pipelines/templates/build-job.yml
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- stage: Test_Go_Windows
 | 
					 | 
				
			||||||
  condition: succeeded()
 | 
					 | 
				
			||||||
  dependsOn: Build_Go_Windows
 | 
					 | 
				
			||||||
  variables:
 | 
					 | 
				
			||||||
    VmImage: windows-latest
 | 
					 | 
				
			||||||
    Platform: win32
 | 
					 | 
				
			||||||
    Architecture: x64
 | 
					 | 
				
			||||||
  jobs:
 | 
					 | 
				
			||||||
  - template: /azure-pipelines/templates/test-job.yml
 | 
					 | 
				
			||||||
@ -1,21 +0,0 @@
 | 
				
			|||||||
jobs:
 | 
					 | 
				
			||||||
- job: Build_Go
 | 
					 | 
				
			||||||
  timeoutInMinutes: 90
 | 
					 | 
				
			||||||
  pool:
 | 
					 | 
				
			||||||
    name: Azure Pipelines
 | 
					 | 
				
			||||||
    vmImage: ubuntu-latest
 | 
					 | 
				
			||||||
  steps:
 | 
					 | 
				
			||||||
  - checkout: self
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
  - task: PowerShell@2
 | 
					 | 
				
			||||||
    displayName: 'Build Go $(Version)'
 | 
					 | 
				
			||||||
    inputs:
 | 
					 | 
				
			||||||
      targetType: filePath
 | 
					 | 
				
			||||||
      filePath: './builders/build-go.ps1'
 | 
					 | 
				
			||||||
      arguments: '-Version $(Version) -Platform $(Platform) -Architecture $(Architecture)'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - task: PublishPipelineArtifact@1
 | 
					 | 
				
			||||||
    displayName: 'Publish Artifact: Go $(Version)'
 | 
					 | 
				
			||||||
    inputs:
 | 
					 | 
				
			||||||
      targetPath: '$(Build.ArtifactStagingDirectory)' 
 | 
					 | 
				
			||||||
      artifactName: 'go-$(Version)-$(Platform)-$(Architecture)'
 | 
					 | 
				
			||||||
@ -1,75 +0,0 @@
 | 
				
			|||||||
jobs:
 | 
					 | 
				
			||||||
- job: Test_Go
 | 
					 | 
				
			||||||
  pool: 
 | 
					 | 
				
			||||||
    name: Azure Pipelines
 | 
					 | 
				
			||||||
    vmImage: $(VmImage)
 | 
					 | 
				
			||||||
  steps:
 | 
					 | 
				
			||||||
  - checkout: self
 | 
					 | 
				
			||||||
    submodules: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - task: PowerShell@2
 | 
					 | 
				
			||||||
    displayName: Fully cleanup the toolcache directory before testing
 | 
					 | 
				
			||||||
    inputs:
 | 
					 | 
				
			||||||
      targetType: filePath
 | 
					 | 
				
			||||||
      filePath: helpers/clean-toolcache.ps1
 | 
					 | 
				
			||||||
      arguments: -ToolName "go"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - task: DownloadPipelineArtifact@2
 | 
					 | 
				
			||||||
    inputs:
 | 
					 | 
				
			||||||
      source: 'current'
 | 
					 | 
				
			||||||
      artifact: 'go-$(Version)-$(Platform)-$(Architecture)'
 | 
					 | 
				
			||||||
      path: $(Build.ArtifactStagingDirectory)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - task: ExtractFiles@1
 | 
					 | 
				
			||||||
    inputs:
 | 
					 | 
				
			||||||
      archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/go-$(Version)-$(Platform)-$(Architecture).*'
 | 
					 | 
				
			||||||
      destinationFolder: $(Build.BinariesDirectory)
 | 
					 | 
				
			||||||
      cleanDestinationFolder: false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - task: PowerShell@2
 | 
					 | 
				
			||||||
    displayName: 'Apply build artifact to the local machines'
 | 
					 | 
				
			||||||
    inputs:
 | 
					 | 
				
			||||||
      targetType: inline
 | 
					 | 
				
			||||||
      script: |
 | 
					 | 
				
			||||||
        if ("$(Platform)" -match 'win32') { powershell ./setup.ps1 } else { sh ./setup.sh }
 | 
					 | 
				
			||||||
      workingDirectory: '$(Build.BinariesDirectory)'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - task: GoTool@0
 | 
					 | 
				
			||||||
    inputs:
 | 
					 | 
				
			||||||
      version: '$(Version)'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - task: PowerShell@2
 | 
					 | 
				
			||||||
    displayName: 'Wait for the logs'
 | 
					 | 
				
			||||||
    inputs:
 | 
					 | 
				
			||||||
      targetType: inline
 | 
					 | 
				
			||||||
      script: |
 | 
					 | 
				
			||||||
         Write-Host "Fake step that do nothing"
 | 
					 | 
				
			||||||
         Write-Host "We need it because log of previous step 'Use Go' is not available here yet."
 | 
					 | 
				
			||||||
         Write-Host "In testing step (Go.Tests.ps1) we analyze build log of 'GoTool' task"
 | 
					 | 
				
			||||||
         Write-Host "to determine if Go version was consumed from cache and was downloaded"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - task: PowerShell@2
 | 
					 | 
				
			||||||
    displayName: 'Run tests'
 | 
					 | 
				
			||||||
    inputs:
 | 
					 | 
				
			||||||
      TargetType: inline
 | 
					 | 
				
			||||||
      script: |
 | 
					 | 
				
			||||||
        Install-Module Pester -Force -Scope CurrentUser -RequiredVersion 4.10.1
 | 
					 | 
				
			||||||
        Import-Module Pester
 | 
					 | 
				
			||||||
        $pesterParams = @{
 | 
					 | 
				
			||||||
          Path="./Go.Tests.ps1";
 | 
					 | 
				
			||||||
          Parameters=@{
 | 
					 | 
				
			||||||
            Version="$(Version)";
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        Invoke-Pester -Script $pesterParams -OutputFile "$(Build.SourcesDirectory)/tests/test_results.xml" -OutputFormat NUnitXml
 | 
					 | 
				
			||||||
      workingDirectory: '$(Build.SourcesDirectory)/tests'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - task: PublishTestResults@2
 | 
					 | 
				
			||||||
    displayName: 'Publish test results'
 | 
					 | 
				
			||||||
    inputs:
 | 
					 | 
				
			||||||
      testResultsFiles: '*.xml'
 | 
					 | 
				
			||||||
      testResultsFormat: NUnit
 | 
					 | 
				
			||||||
      searchFolder: 'tests'
 | 
					 | 
				
			||||||
      failTaskOnFailedTests: true
 | 
					 | 
				
			||||||
      testRunTitle: "Go $(Version)-$(Platform)"
 | 
					 | 
				
			||||||
    condition: always()
 | 
					 | 
				
			||||||
@ -1 +1 @@
 | 
				
			|||||||
Subproject commit 1314c6de07d9052cb47c157e2babe11e9396ba23
 | 
					Subproject commit 68072bedefb41436c6b70ddfa9adb8e631a3b6cf
 | 
				
			||||||
					Loading…
					
					
				
		Reference in New Issue