You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
versions-package-tools/.github/workflows/get-tools-new-versions.yml

83 lines
3.1 KiB
YAML

name: Get tools new versions
on:
schedule:
- cron: '0 8 * * THU'
workflow_dispatch:
defaults:
run:
shell: pwsh
jobs:
find-new-xamarin-versions:
name: Searching for new Xamarin versions
runs-on: ubuntu-latest
outputs:
versions-output: ${{ steps.get-new-xamarin-versions.outputs.versions-output }}
steps:
- uses: actions/checkout@v2
- id: get-new-xamarin-versions
name: Get new Xamarin versions
run: echo "::set-output name=versions-output::$(./get-new-tool-versions/verify-new-tool-version-added-to-image.ps1 -ToolName Xamarin)"
check-new-xamarin-versions:
name: Verifying new Xamarin versions exist
runs-on: ubuntu-latest
needs: find-new-xamarin-versions
steps:
- uses: actions/checkout@v2
- name: Check Versions
if: needs.find-new-xamarin-versions.outputs.versions-output == ''
run: Write-Host "No new versions found"
- uses: ./.github/actions/send-slack-notification
if: needs.find-new-xamarin-versions.outputs.versions-output != ''
with:
url: ${{ secrets.SLACK_CHANNEL_URL }}
tool-name: 'Xamarin'
tool-version: ${{ needs.find-new-xamarin-versions.outputs.versions-output }}
image-url: 'https://avatars.githubusercontent.com/u/790012?s=200&v=4'
add-to-toolset-flag: '-AddToToolsetFlag'
find-new-python-versions:
name: Searching for new Python versions
runs-on: ubuntu-latest
outputs:
versions-output: ${{ steps.get-new-python-versions.outputs.versions-output }}
steps:
- uses: actions/checkout@v2
- id: get-new-python-versions
name: Get new Python versions
run: echo "::set-output name=versions-output::$(./get-new-tool-versions/verify-new-tool-version-added-to-image.ps1 -ToolName Python)"
check-new-python-versions:
name: Verifying new Python versions exist
runs-on: ubuntu-latest
needs: find-new-python-versions
steps:
- uses: actions/checkout@v2
- name: Check Versions
if: needs.find-new-python-versions.outputs.versions-output == ''
run: Write-Host "No new versions found"
- uses: ./.github/actions/send-slack-notification
if: needs.find-new-python-versions.outputs.versions-output != ''
with:
url: ${{ secrets.SLACK_CHANNEL_URL }}
tool-name: 'Python'
tool-version: ${{ needs.find-new-python-versions.outputs.versions-output }}
image-url: 'https://www.python.org/static/community_logos/python-powered-h-100x130.png'
add-to-toolset-flag: '-AddToToolsetFlag'
check_build:
name: Check build for failures
runs-on: ubuntu-latest
needs: [check-new-xamarin-versions, check-new-python-versions]
if: failure()
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/send-slack-notification
with:
url: ${{ secrets.SLACK_CHANNEL_URL }}
tool-name: 'Python or Xamarin'
pipeline-url: '$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID'
text: "The build of the Xamarin or Python detection pipeline has failed stages:"