rerun_cirrus_cron #236
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# Format Ref: https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions | |
# Required to un-FUBAR default ${{github.workflow}} value | |
name: rerun_cirrus_cron | |
on: | |
# Note: This only applies to the main branch. | |
schedule: | |
# N/B: This should fire about an hour prior to check_cirrus_cron | |
# so the re-runs have a chance to complete. | |
- cron: '01 01 * * 1-5' | |
# Debug: Allow triggering job manually in github-actions WebUI | |
workflow_dispatch: {} | |
# Allow re-use of this workflow by other repositories | |
# Ref: https://docs.github.com/en/actions/using-workflows/reusing-workflows | |
workflow_call: | |
secrets: | |
SECRET_CIRRUS_API_KEY: | |
required : true | |
ACTION_MAIL_SERVER: | |
required: true | |
ACTION_MAIL_USERNAME: | |
required: true | |
ACTION_MAIL_PASSWORD: | |
required: true | |
ACTION_MAIL_SENDER: | |
required: true | |
env: | |
# CSV listing of e-mail addresses for delivery failure or error notices | |
RCPTCSV: [email protected] | |
# Filename for table of build-id to cron-name data | |
# (must be in $GITHUB_WORKSPACE/artifacts/) | |
ID_NAME_FILEPATH: './artifacts/id_name.txt' | |
permissions: | |
contents: read | |
jobs: | |
cron_rerun: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4 | |
with: | |
# All scripts used by this workflow live in podman repo. | |
repository: "containers/podman" | |
ref: "main" | |
persist-credentials: false | |
- name: Get failed cron names and Build IDs | |
id: cron | |
run: './.github/actions/check_cirrus_cron/cron_failures.sh' | |
- if: steps.cron.outputs.failures > 0 | |
shell: bash | |
env: | |
SECRET_CIRRUS_API_KEY: ${{ secrets.SECRET_CIRRUS_API_KEY }} | |
run: './.github/actions/check_cirrus_cron/rerun_failed_tasks.sh' | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ github.job }}_artifacts | |
path: artifacts/* | |
- if: failure() | |
name: Send error notification e-mail | |
uses: dawidd6/[email protected] | |
with: | |
server_address: ${{secrets.ACTION_MAIL_SERVER}} | |
server_port: 465 | |
username: ${{secrets.ACTION_MAIL_USERNAME}} | |
password: ${{secrets.ACTION_MAIL_PASSWORD}} | |
subject: Github workflow error on ${{github.repository}} | |
to: ${{env.RCPTCSV}} | |
from: ${{secrets.ACTION_MAIL_SENDER}} | |
body: "Job failed: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}" |