Merge pull request #36 from nikita-bykov/move-get-go-versions-workflow
Move get-go-versions pipeline from Azure DevOpspull/38/head 1.16.8-1220319069
						commit
						868a8c05e8
					
				@ -0,0 +1,96 @@
 | 
				
			|||||||
 | 
					name: Get Go versions
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  schedule:
 | 
				
			||||||
 | 
					    - cron: '0 3,15 * * *'
 | 
				
			||||||
 | 
					  workflow_dispatch:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					env:
 | 
				
			||||||
 | 
					  TOOL_NAME: "Go"
 | 
				
			||||||
 | 
					defaults:
 | 
				
			||||||
 | 
					  run:
 | 
				
			||||||
 | 
					    shell: pwsh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  find_new_versions:
 | 
				
			||||||
 | 
					    name: Find new versions
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    outputs:
 | 
				
			||||||
 | 
					      versions_output: ${{ steps.Get_new_versions.outputs.TOOL_VERSIONS }}
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          submodules: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - id: Get_new_versions
 | 
				
			||||||
 | 
					        name: Get new versions
 | 
				
			||||||
 | 
					        run: ./helpers/get-new-tool-versions/get-new-tool-versions.ps1 -ToolName ${{ env.TOOL_NAME }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  check_new_versions:
 | 
				
			||||||
 | 
					    name: Check new versions
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    needs: find_new_versions
 | 
				
			||||||
 | 
					    env:
 | 
				
			||||||
 | 
					      TOOL_VERSIONS: ${{needs.find_new_versions.outputs.versions_output}}
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          submodules: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Check Versions
 | 
				
			||||||
 | 
					        if: env.TOOL_VERSIONS == ''
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          Write-Host "No new versions were found"
 | 
				
			||||||
 | 
					          Import-Module "./helpers/github/github-api.psm1"
 | 
				
			||||||
 | 
					          $gitHubApi = Get-GitHubApi -RepositoryFullName "$env:GITHUB_REPOSITORY" `
 | 
				
			||||||
 | 
					                                     -AccessToken "${{ secrets.PERSONAL_TOKEN }}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          $gitHubApi.CancelWorkflow("$env:GITHUB_RUN_ID")
 | 
				
			||||||
 | 
					          Start-Sleep -Seconds 60
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Send Slack notification
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          $pipelineUrl = "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID"
 | 
				
			||||||
 | 
					          $message = "The following versions of '${{ env.TOOL_NAME }}' are available to upload: ${{ env.TOOL_VERSIONS }}\nLink to the pipeline: $pipelineUrl"
 | 
				
			||||||
 | 
					          ./helpers/get-new-tool-versions/send-slack-notification.ps1 -Url "${{ secrets.SLACK_CHANNEL_URL }}" `
 | 
				
			||||||
 | 
					                                                                      -ToolName "${{ env.TOOL_NAME }}" `
 | 
				
			||||||
 | 
					                                                                      -ImageUrl "https://golang.org/lib/godoc/images/footer-gopher.jpg" `
 | 
				
			||||||
 | 
					                                                                      -Text "$message"
 | 
				
			||||||
 | 
					  trigger_builds:
 | 
				
			||||||
 | 
					    name: Trigger builds
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    needs: [find_new_versions, check_new_versions]
 | 
				
			||||||
 | 
					    env:
 | 
				
			||||||
 | 
					      TOOL_VERSIONS: ${{needs.find_new_versions.outputs.versions_output}}
 | 
				
			||||||
 | 
					    environment: Get Available Tools Versions - Publishing Approval
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          submodules: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Trigger "Build go packages" workflow
 | 
				
			||||||
 | 
					        run:
 | 
				
			||||||
 | 
					          ./helpers/github/run-ci-builds.ps1 -RepositoryFullName "$env:GITHUB_REPOSITORY" `
 | 
				
			||||||
 | 
					                                             -AccessToken "${{ secrets.PERSONAL_TOKEN }}" `
 | 
				
			||||||
 | 
					                                             -WorkflowFileName "build-go-packages.yml" `
 | 
				
			||||||
 | 
					                                             -WorkflowDispatchRef "main" `
 | 
				
			||||||
 | 
					                                             -ToolVersions "${{ env.TOOL_VERSIONS }}" `
 | 
				
			||||||
 | 
					                                             -PublishReleases "true"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  check_build:
 | 
				
			||||||
 | 
					    name: Check build for failures 
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    needs: [find_new_versions, check_new_versions, trigger_builds]
 | 
				
			||||||
 | 
					    if: failure()
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v2
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          submodules: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Send Slack notification if build fails
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          $pipelineUrl = "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID"
 | 
				
			||||||
 | 
					          $message = "The build of the '${{ env.TOOL_NAME }}' detection pipeline failed :progress-error:\nLink to the pipeline: $pipelineUrl"
 | 
				
			||||||
 | 
					          ./helpers/get-new-tool-versions/send-slack-notification.ps1 -Url "${{ secrets.SLACK_CHANNEL_URL }}" `
 | 
				
			||||||
 | 
					                                                                      -ToolName "${{ env.TOOL_NAME }}" `
 | 
				
			||||||
 | 
					                                                                      -Text "$message" `
 | 
				
			||||||
 | 
					                                                                      -ImageUrl "https://golang.org/lib/godoc/images/footer-gopher.jpg"
 | 
				
			||||||
@ -1 +1 @@
 | 
				
			|||||||
Subproject commit 4b0fa42d9972d1f51dd26ca96e03987d374a1d7a
 | 
					Subproject commit 1eaa091b6531cad000ee0c4585bfa97d3476b028
 | 
				
			||||||
					Loading…
					
					
				
		Reference in New Issue