Skip to content

Daily Smoke Tests

Daily Smoke Tests #910

Workflow file for this run

name: Daily Smoke Tests
concurrency:
group: ${{ github.ref_name }}-smoke
cancel-in-progress: true
on:
push:
branches:
- main
schedule:
- cron: '0 */4 * * 1-5'
workflow_dispatch: # Allow manual trigger
jobs:
build-windows:
uses: ./.github/workflows/.build-windows.yaml
with:
go-version: '1.25.8'
artifact-name: 'dr-windows'
secrets: inherit
smoke-test:
uses: ./.github/workflows/.smoke-tests-matrix.yaml
with:
go-version: '1.25.8'
secrets:
DR_API_TOKEN: ${{ secrets.DR_API_TOKEN }}
windows-smoke-test:
needs: build-windows
uses: ./.github/workflows/.windows-smoke-test.yaml
with:
artifact-name: 'dr-windows'
secrets:
DR_API_TOKEN: ${{ secrets.DR_API_TOKEN }}
installs-smoke-test:
uses: ./.github/workflows/.installation-tests-matrix.yaml
self-update-smoke-test:
uses: ./.github/workflows/.self-update-tests-matrix.yaml
notify-failure:
needs: [build-windows, smoke-test, windows-smoke-test, installs-smoke-test, self-update-smoke-test]
if: failure()
runs-on: ubuntu-latest
name: Notify Slack on Failure
steps:
- name: Build failed jobs summary
id: summary
run: |
failed=""
if [[ "${{ needs.build-windows.result }}" == "failure" ]]; then
failed="${failed}Build Windows, "
fi
if [[ "${{ needs.smoke-test.result }}" == "failure" ]]; then
failed="${failed}Smoke Tests, "
fi
if [[ "${{ needs.windows-smoke-test.result }}" == "failure" ]]; then
failed="${failed}Windows Smoke Tests, "
fi
if [[ "${{ needs.installs-smoke-test.result }}" == "failure" ]]; then
failed="${failed}Installation Tests, "
fi
if [[ "${{ needs.self-update-smoke-test.result }}" == "failure" ]]; then
failed="${failed}Self-Update Tests, "
fi
# Trim trailing comma+space
failed="${failed%, }"
if [[ -z "$failed" ]]; then
failed="(unknown — check workflow run)"
fi
echo "failed_jobs=${failed}" >> "$GITHUB_OUTPUT"
- name: Notify Slack
uses: slackapi/slack-github-action@v1.27.0
with:
payload: |
{
"text": "❌ DR CLI Daily Smoke Tests Failed",
"blocks": [
{
"type": "header",
"text": {
"type": "plain_text",
"text": "❌ DR CLI Daily Smoke Tests Failed"
}
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Repository:*\n<${{ github.event.repository.html_url }}|${{ github.repository }}>"
},
{
"type": "mrkdwn",
"text": "*Branch:*\n${{ github.ref_name }}"
}
]
},
{
"type": "section",
"fields": [
{
"type": "mrkdwn",
"text": "*Trigger:*\n${{ github.event_name }}"
},
{
"type": "mrkdwn",
"text": "*Commit:*\n<${{ github.event.repository.html_url }}/commit/${{ github.sha }}|${{ github.sha }}>"
}
]
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Failed Jobs:*\n${{ steps.summary.outputs.failed_jobs }}"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "<${{ github.event.repository.html_url }}/actions/runs/${{ github.run_id }}|View Workflow Run>"
}
}
]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK