Merge pull request #7 from actions/v-mazhuk/configure-ci-to-get-tool-versions
Configure CI to get tools versionspull/10/head
commit
8523adc672
@ -0,0 +1,48 @@
|
||||
name: $(date:yyyyMMdd)$(rev:.r)
|
||||
trigger: none
|
||||
pr: none
|
||||
schedules:
|
||||
- cron: "0 3 * * *"
|
||||
displayName: First daily build
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
always: true
|
||||
- cron: "0 15 * * *"
|
||||
displayName: Second daily build
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
always: true
|
||||
|
||||
variables:
|
||||
PoolName: 'Azure Pipelines'
|
||||
VmImage: 'ubuntu-18.04'
|
||||
|
||||
stages:
|
||||
- stage: Get_New_Versions
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- job: Get_Tool_Versions
|
||||
pool:
|
||||
name: $(PoolName)
|
||||
vmImage: $(VmImage)
|
||||
steps:
|
||||
- template: /azure-pipelines/templates/get-tool-versions-steps.yml
|
||||
|
||||
- stage: Trigger_Builds
|
||||
dependsOn: Get_New_Versions
|
||||
jobs:
|
||||
- deployment: Run_Builds
|
||||
pool:
|
||||
name: $(PoolName)
|
||||
vmImage: $(VmImage)
|
||||
variables:
|
||||
ToolVersions: $[ stageDependencies.Get_New_Versions.Get_Tool_Versions.outputs['Get_versions.TOOL_VERSIONS'] ]
|
||||
timeoutInMinutes: 180
|
||||
environment: 'Get Available Tools Versions - Publishing Approval'
|
||||
strategy:
|
||||
runOnce:
|
||||
deploy:
|
||||
steps:
|
||||
- template: /azure-pipelines/templates/run-ci-builds-steps.yml
|
@ -0,0 +1,47 @@
|
||||
steps:
|
||||
- task: PowerShell@2
|
||||
displayName: 'Get new versions'
|
||||
name: 'Get_versions'
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: './get-new-tool-versions/get-new-tool-versions.ps1'
|
||||
arguments: |
|
||||
-DistURL "$(DIST_URL)" `
|
||||
-ManifestLink "$(MANIFEST_URL)" `
|
||||
-VersionFilterToInclude $(INCLUDE_FILTER) `
|
||||
-VersionFilterToExclude $(EXCLUDE_FILTER)
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Cancel build'
|
||||
condition: and(succeeded(), eq(variables['Get_versions.TOOL_VERSIONS'], ''))
|
||||
inputs:
|
||||
TargetType: inline
|
||||
script: |
|
||||
Import-Module "./azure-devops/azure-devops-api.ps1"
|
||||
$azureDevOpsApi = Get-AzureDevOpsApi -TeamFoundationCollectionUri $(System.TeamFoundationCollectionUri) `
|
||||
-ProjectName $(System.TeamProject) `
|
||||
-AccessToken $(System.AccessToken)
|
||||
|
||||
$AzureDevOpsApi.UpdateBuildStatus($(Build.BuildId), 'Cancelling') | Out-Null
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Set env variable'
|
||||
condition: and(succeeded(), ne(variables['Get_versions.TOOL_VERSIONS'], ''))
|
||||
inputs:
|
||||
TargetType: inline
|
||||
script: |
|
||||
$PipelineUrl = "$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)"
|
||||
Write-Output "##vso[task.setvariable variable=PIPELINE_URL]$PipelineUrl"
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Send Slack notification'
|
||||
condition: and(succeeded(), ne(variables['Get_versions.TOOL_VERSIONS'], ''))
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: './get-new-tool-versions/send-slack-notification.ps1'
|
||||
arguments: |
|
||||
-Url "$(SLACK_CHANNEL_URL)" `
|
||||
-ToolName "$(TOOL_NAME)" `
|
||||
-ToolVersion "$(Get_versions.TOOL_VERSIONS)" `
|
||||
-PipelineUrl "$(PIPELINE_URL)" `
|
||||
-ImageUrl "$(IMAGE_URL)"
|
@ -0,0 +1,29 @@
|
||||
steps:
|
||||
- checkout: self
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Get source version'
|
||||
inputs:
|
||||
TargetType: inline
|
||||
script: |
|
||||
$url = "https://api.github.com/repos/$(REPOSITORY)/commits/$(BRANCH)"
|
||||
$commit = Invoke-RestMethod -Uri $url -Method "GET"
|
||||
Write-Output "##vso[task.setvariable variable=COMMIT_SHA]$($commit.sha)"
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Run builds'
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: './azure-devops/run-ci-builds.ps1'
|
||||
arguments: |
|
||||
-TeamFoundationCollectionUri $(System.TeamFoundationCollectionUri) `
|
||||
-AzureDevOpsProjectName $(System.TeamProject) `
|
||||
-AzureDevOpsAccessToken $(System.AccessToken) `
|
||||
-SourceBranch $(BRANCH) `
|
||||
-DefinitionId $(DEFINITION_ID) `
|
||||
-SourceVersion $(COMMIT_SHA) `
|
||||
-ManifestLink $(MANIFEST_URL) `
|
||||
-WaitForBuilds $(WAIT_FOR_BUILDS) `
|
||||
-ToolVersions "$(ToolVersions)" `
|
||||
-RetryIntervalSec $(INTERVAL_SEC) `
|
||||
-RetryCount $(RETRY_COUNT)
|
Loading…
Reference in New Issue