82 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
		
		
			
		
	
	
			82 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| 
								 | 
							
								# Copyright (c) Microsoft Corporation.
							 | 
						||
| 
								 | 
							
								# SPDX-License-Identifier: MIT
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								parameters:
							 | 
						||
| 
								 | 
							
								  - name: vcpkgToolSha
							 | 
						||
| 
								 | 
							
								    displayName: 'Custom SHA of vcpkg-tool to use rather than bootstrap'
							 | 
						||
| 
								 | 
							
								    type: string
							 | 
						||
| 
								 | 
							
								    default: 'use default'
							 | 
						||
| 
								 | 
							
								  - name: poolName
							 | 
						||
| 
								 | 
							
								    type: string
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								jobs:
							 | 
						||
| 
								 | 
							
								- job: x64_osx
							 | 
						||
| 
								 | 
							
								  pool:
							 | 
						||
| 
								 | 
							
								    name: ${{ parameters.poolName }}
							 | 
						||
| 
								 | 
							
								  workspace:
							 | 
						||
| 
								 | 
							
								    clean: resources
							 | 
						||
| 
								 | 
							
								  timeoutInMinutes: 2880 # 2 days
							 | 
						||
| 
								 | 
							
								  variables:
							 | 
						||
| 
								 | 
							
								  - name: WORKING_ROOT
							 | 
						||
| 
								 | 
							
								    value: /Users/vagrant/Data
							 | 
						||
| 
								 | 
							
								  - name: VCPKG_DOWNLOADS
							 | 
						||
| 
								 | 
							
								    value: /Users/vagrant/Data/downloads
							 | 
						||
| 
								 | 
							
								  - group: vcpkg-binary-caching-credentials
							 | 
						||
| 
								 | 
							
								  - name: X_VCPKG_BINARY_SOURCE_STUB
							 | 
						||
| 
								 | 
							
								    value: "x-azblob,$(root-bin-url),$(sas-bin)" # not in eastasia due to physical location
							 | 
						||
| 
								 | 
							
								  - group: vcpkg-asset-caching-credentials
							 | 
						||
| 
								 | 
							
								  - name: X_VCPKG_ASSET_SOURCES
							 | 
						||
| 
								 | 
							
								    value: "x-azurl,$(root-url-ea),$(sas-ea),readwrite"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  steps:
							 | 
						||
| 
								 | 
							
								  - bash: |
							 | 
						||
| 
								 | 
							
								      sudo mkdir ${{ variables.VCPKG_DOWNLOADS }} || 0
							 | 
						||
| 
								 | 
							
								      sudo chmod 777 ${{ variables.VCPKG_DOWNLOADS }} || 0
							 | 
						||
| 
								 | 
							
								      exit 0
							 | 
						||
| 
								 | 
							
								    displayName: 'Create ${{ variables.VCPKG_DOWNLOADS }}'
							 | 
						||
| 
								 | 
							
								  - bash: ./bootstrap-vcpkg.sh
							 | 
						||
| 
								 | 
							
								    displayName: 'Bootstrap vcpkg'
							 | 
						||
| 
								 | 
							
								    condition: eq('use default', '${{ parameters.vcpkgToolSha }}')
							 | 
						||
| 
								 | 
							
								  - bash: |
							 | 
						||
| 
								 | 
							
								      brew install cmake
							 | 
						||
| 
								 | 
							
								      ./scripts/azure-pipelines/bootstrap-from-source.sh ${{ parameters.vcpkgToolSha }}
							 | 
						||
| 
								 | 
							
								    displayName: "Build vcpkg with CMake"
							 | 
						||
| 
								 | 
							
								    condition: ne('use default', '${{ parameters.vcpkgToolSha }}')
							 | 
						||
| 
								 | 
							
								  - task: PowerShell@2
							 | 
						||
| 
								 | 
							
								    displayName: '*** Test Modified Ports'
							 | 
						||
| 
								 | 
							
								    inputs:
							 | 
						||
| 
								 | 
							
								      failOnStderr: true
							 | 
						||
| 
								 | 
							
								      filePath: 'scripts/azure-pipelines/test-modified-ports.ps1'
							 | 
						||
| 
								 | 
							
								      arguments: >
							 | 
						||
| 
								 | 
							
								        -Triplet "x64-osx"
							 | 
						||
| 
								 | 
							
								        -BuildReason "$(Build.Reason)"
							 | 
						||
| 
								 | 
							
								        -BinarySourceStub "${{ variables.X_VCPKG_BINARY_SOURCE_STUB }}"
							 | 
						||
| 
								 | 
							
								        -WorkingRoot "${{ variables.WORKING_ROOT }}"
							 | 
						||
| 
								 | 
							
								        -ArtifactStagingDirectory "$(Build.ArtifactStagingDirectory)"
							 | 
						||
| 
								 | 
							
								      pwsh: true
							 | 
						||
| 
								 | 
							
								  - task: PublishBuildArtifacts@1
							 | 
						||
| 
								 | 
							
								    displayName: 'Publish Artifact: failure logs for x64-osx'
							 | 
						||
| 
								 | 
							
								    inputs:
							 | 
						||
| 
								 | 
							
								      PathtoPublish: '$(Build.ArtifactStagingDirectory)/failure-logs'
							 | 
						||
| 
								 | 
							
								      ArtifactName: 'failure logs for x64-osx${{ variables.Postfix }}'
							 | 
						||
| 
								 | 
							
								    condition: ne(variables['FAILURE_LOGS_EMPTY'], 'True')
							 | 
						||
| 
								 | 
							
								  - bash: python3 scripts/file_script.py /Users/vagrant/Data/installed/vcpkg/info/
							 | 
						||
| 
								 | 
							
								    displayName: 'Build a file list for all packages'
							 | 
						||
| 
								 | 
							
								    condition: always()
							 | 
						||
| 
								 | 
							
								  - task: PublishBuildArtifacts@1
							 | 
						||
| 
								 | 
							
								    displayName: 'Publish Artifact: file lists for x64-osx${{ variables.Postfix }}'
							 | 
						||
| 
								 | 
							
								    condition: always()
							 | 
						||
| 
								 | 
							
								    inputs:
							 | 
						||
| 
								 | 
							
								      PathtoPublish: scripts/list_files
							 | 
						||
| 
								 | 
							
								      ArtifactName: 'file lists for x64-osx${{ variables.Postfix }}'
							 | 
						||
| 
								 | 
							
								  - task: PublishTestResults@2
							 | 
						||
| 
								 | 
							
								    displayName: 'Publish Test Results'
							 | 
						||
| 
								 | 
							
								    condition: ne(variables['XML_RESULTS_FILE'], '')
							 | 
						||
| 
								 | 
							
								    inputs:
							 | 
						||
| 
								 | 
							
								      testRunTitle: x64-osx
							 | 
						||
| 
								 | 
							
								      testResultsFormat: xUnit
							 | 
						||
| 
								 | 
							
								      testResultsFiles: $(XML_RESULTS_FILE)
							 | 
						||
| 
								 | 
							
								      platform: x64-osx
							 | 
						||
| 
								 | 
							
								      configuration: static
							 |