mirror of
https://github.com/actions/runner-images.git
synced 2026-01-08 11:30:49 +08:00
84 lines
3.9 KiB
YAML
84 lines
3.9 KiB
YAML
jobs:
|
|
- job: Image_generation
|
|
displayName: Image Generation (${{ parameters.image_label }})
|
|
timeoutInMinutes: 720
|
|
pool:
|
|
name: Mac-Cloud V2 Image Generation
|
|
variables:
|
|
- group: Mac-Cloud Image Generation
|
|
- group: Mac-Cloud Image Generation Key Vault
|
|
|
|
steps:
|
|
- checkout: self
|
|
clean: true
|
|
fetchDepth: 1
|
|
|
|
- task: PowerShell@2
|
|
displayName: 'Download custom repository'
|
|
condition: and(ne(variables['CUSTOM_REPOSITORY_URL'], ''), ne(variables['CUSTOM_REPOSITORY_BRANCH'], ''))
|
|
inputs:
|
|
targetType: 'filePath'
|
|
filePath: ./images.CI/download-repo.ps1
|
|
arguments: -RepoUrl $(CUSTOM_REPOSITORY_URL) `
|
|
-RepoBranch $(CUSTOM_REPOSITORY_BRANCH)
|
|
|
|
- task: DeleteFiles@1
|
|
displayName: Clean up self-hosted machine
|
|
inputs:
|
|
SourceFolder: 'images/macos/provision/log/'
|
|
RemoveSourceFolder: true
|
|
|
|
- pwsh: |
|
|
$(build.sourcesDirectory)/images.CI/macos/build-image.ps1 -Image "${{ parameters.image_name }}" `
|
|
-VcenterServer "$(vcenter_server_v2)" `
|
|
-VcenterUsername "$(vcenter_username_v2)" `
|
|
-VcenterPassword "$(vcenter_password_v2)" `
|
|
-VcenterDatacenter "$(vcenter_datacenter_v2)" `
|
|
-EsxiCluster "$(esxi_cluster_v2)" `
|
|
-TargetDatastore "${{ parameters.target_datastore }}" `
|
|
-OutputFolder "mms-output" `
|
|
-VmUsername "$(vm_username)" `
|
|
-VmPassword "$(vm_password)" `
|
|
-BuildId "$(Build.BuildNumber)" `
|
|
-BaseImageName "${{ parameters.base_image_name }}" `
|
|
-AzureStorageSas "$(AZURE_STORAGE_SAS)" `
|
|
-AzureStorageAccount "$(AZURE_STORAGE_ACCOUNT)" `
|
|
-BuildAssetsUrl "$(appcenter_build_assets_url)" `
|
|
-GithubFeedToken "$(GITHUB_FEED_TOKEN)" `
|
|
-XcodeInstallationUser "$(xcode-installation-user)" `
|
|
-XcodeInstallationPassword "$(xcode-installation-password)"
|
|
displayName: 'Build VM'
|
|
env:
|
|
PACKER_LOG: 0
|
|
workingDirectory: 'images/macos'
|
|
|
|
- bash: |
|
|
echo "Copy image output files"
|
|
cp -R "image-generation/image-output/software-report/." "$(Build.ArtifactStagingDirectory)/"
|
|
|
|
echo "Copy test results"
|
|
cp -R "image-generation/image-output/tests/." "$(Common.TestResultsDirectory)/"
|
|
ls $(Common.TestResultsDirectory)
|
|
|
|
echo "Put VM name to 'VM_Done_Name' file"
|
|
echo "$(Build.BuildNumber)" > "$(Build.ArtifactStagingDirectory)/VM_Done_Name"
|
|
displayName: Prepare artifact
|
|
|
|
- bash: |
|
|
cat "$(Build.ArtifactStagingDirectory)/systeminfo.md"
|
|
displayName: Print software report
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
ArtifactName: 'Built_VM_Artifacts'
|
|
displayName: Publish Artifacts
|
|
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testResultsFiles: '*.xml'
|
|
testResultsFormat: NUnit
|
|
searchFolder: '$(Common.TestResultsDirectory)'
|
|
failTaskOnFailedTests: true
|
|
displayName: Publish test results
|
|
condition: always()
|