diff --git a/.github/workflows/validate-manifest.yml b/.github/workflows/validate-manifest.yml new file mode 100644 index 0000000..0b1e0c9 --- /dev/null +++ b/.github/workflows/validate-manifest.yml @@ -0,0 +1,47 @@ +name: Validate manifest + +on: + schedule: + - cron: '0 8,20 * * *' + + pull_request: + branches: + - main + paths: + - 'versions-manifest.json' +env: + TOOL_NAME: "Go" +defaults: + run: + shell: pwsh + +jobs: + validation: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + with: + submodules: true + + - name: Validate python-versions manifest + run: .\helpers\packages-generation\manifest-validator.ps1 -ManifestUrl https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json -AccessToken ${{ secrets.GITHUB_TOKEN }} + + check_build: + name: Check validation for failures + runs-on: ubuntu-latest + needs: [validation] + if: failure() + steps: + - uses: actions/checkout@v2 + with: + submodules: true + + - name: Send Slack notification if validation fails + run: | + $pipelineUrl = "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID" + $message = "The validation of go-versions manifest failed. \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" diff --git a/helpers b/helpers index 1eaa091..fb0eac4 160000 --- a/helpers +++ b/helpers @@ -1 +1 @@ -Subproject commit 1eaa091b6531cad000ee0c4585bfa97d3476b028 +Subproject commit fb0eac418afb1bc64daf912879736133e63eef1e