Skip to content

Weekly Tests

Weekly Tests #35

Workflow file for this run

name: Weekly Tests
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * SAT"
jobs:
weekly-tests:
name: Run weekly tests
runs-on: ubuntu-latest
timeout-minutes: 1440
strategy:
max-parallel: 3
fail-fast: false
matrix:
include:
# - repo: charm-advanced-routing
# workflow_file_name: check.yaml
# branch: master
# - repo: charm-apt-mirror
# workflow_file_name: check.yaml
# branch: main
# - repo: charm-cloudsupport
# workflow_file_name: check.yaml
# branch: main
# - repo: charm-duplicity
# workflow_file_name: check.yaml
# branch: master
# - repo: hardware-observer-operator
# workflow_file_name: check.yaml
# branch: master
# - repo: hardware-observer-operator
# workflow_file_name: cos_integration.yaml
# branch: master
# - repo: charm-juju-backup-all
# workflow_file_name: check.yaml
# branch: master
# - repo: charm-juju-local
# workflow_file_name: check.yaml
# branch: master
# - repo: charm-kubernetes-service-checks
# workflow_file_name: check.yaml
# branch: master
# - repo: charm-local-users
# workflow_file_name: check.yaml
# branch: main
# - repo: charm-logrotated
# workflow_file_name: check.yaml
# branch: master
# - repo: charm-nginx
# workflow_file_name: check.yaml
# branch: main
# - repo: charm-openstack-service-checks
# workflow_file_name: check.yaml
# branch: master
# - repo: charm-prometheus-blackbox-exporter
# workflow_file_name: check.yaml
# branch: master
# - repo: charm-prometheus-libvirt-exporter
# workflow_file_name: check.yaml
# branch: master
# - repo: charm-simple-streams
# workflow_file_name: check.yaml
# branch: main
# - repo: charm-storage-connector
# workflow_file_name: check.yaml
# branch: master
# - repo: charm-sysconfig
# workflow_file_name: check.yaml
# branch: master
# - repo: charm-userdir-ldap
# workflow_file_name: check.yaml
# branch: master
# - repo: prometheus-hardware-exporter
# workflow_file_name: check.yaml
# branch: main
# - repo: prometheus-juju-exporter
# workflow_file_name: pr.yaml
# branch: main
# - repo: prometheus-juju-backup-all-exporter
# workflow_file_name: check.yaml
# branch: main
- repo: snap-tempest
workflow_file_name: pr.yaml
branch: main
- repo: charmed-openstack-upgrader
workflow_file_name: check.yaml
branch: main
steps:
# - name: Running ${{ matrix.workflow_file_name }} tests for ${{ matrix.repo }}
# uses: convictional/[email protected]
# id: dispatched-tests
# with:
# owner: canonical
# repo: ${{ matrix.repo }}
# github_token: ${{ secrets.GHA_WORKFLOW_TRIGGER }}
# workflow_file_name: ${{ matrix.workflow_file_name }}
# ref: ${{ matrix.branch }}
# wait_interval: 60
- name: Running ${{ matrix.workflow_file_name }} tests for ${{ matrix.repo }}
id: dispatched-tests
run: |
if [ "${{ matrix.workflow_file_name }}" == "pr.yaml" ]; then
exit 1 # simulate failure
else
exit 0 # simulate passing
fi
- name: Collect result
id: collect-result
if: always()
run: |
echo "${{ matrix.repo }}=[${{ matrix.repo }}]($WORKFLOW_URL) ${{ steps.dispatched-tests.outcome }}" >> "$GITHUB_OUTPUT"
notify:
needs: weekly-tests
if: always() # these needs to be run always
name: Notify SolEng with results
runs-on: ubuntu-latest
steps:
- name: Collect results
run: |
echo "result: ${{ needs.weekly-tests.outputs.result }}"
echo "joined result: ${{ join( needs.weekly-tests.outputs.result, '\n') }}"
echo "joined results for each job: ${{ join( needs.weekly-tests.outputs.*.result, '\n') }}"
# - name: Create the Mattermost Message
# env:
# WEEKLY_TESTS: ${{ needs.weekly-tests.outputs.failed_tests }}
# run: |
# echo "{\"text\":\":robot_face: [Weekly tests]($GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID) have failed for these projects: $WEEKLY_TESTS\"}" > mattermost.json
# - uses: mattermost/action-mattermost-notify@master
# env:
# MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}