Skip to content

Commit

Permalink
test
Browse files Browse the repository at this point in the history
  • Loading branch information
rgildein committed Apr 10, 2024
1 parent c6a709f commit 3480630
Showing 1 changed file with 90 additions and 81 deletions.
171 changes: 90 additions & 81 deletions .github/workflows/weekly_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,79 +10,77 @@ jobs:
name: Run weekly tests
runs-on: ubuntu-latest
timeout-minutes: 1440
outputs:
failed_tests: ${{ steps.collect-failed-tests.outputs.failed_tests }}
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-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: 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: 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
Expand All @@ -102,31 +100,42 @@ jobs:
ref: ${{ matrix.branch }}
wait_interval: 60

- name: Collect failed tests
id: collect-failed-tests
env:
WORKFLOW_URL: ${{ steps.dispatched-tests.outputs.workflow_url }}
if: ${{ failure() }}
- name: Collect result
id: collect-result
if: always()
run: |
failed_tests=""
if [ "${{ steps.dispatched-tests.outcome }}" != "success" ]; then
failed_tests+="[${{ matrix.repo }}]($WORKFLOW_URL), "
fi
# Set the output variable to pass the failed tests to the next job
echo "failed_tests=$failed_tests" >> "$GITHUB_OUTPUT"
result = $(jq -n \
--arg job-index "${{ strategy.job-index }}" \
--arg repo "${{ matrix.repo }}" \
--arg branch "${{ matrix.branch }}" \
--arg workflow_file_name "${{ matrix.workflow_file_name }}" \
--arg conclusion "${{ steps.dispatched-tests.outputs.conclusion }}" \
--arg workflow_url "${{ steps.dispatched-tests.outputs.workflow_url }}" \
'{job-index: $job-index, repo: $repo, branch: $branch, workflow_file_name: $workflow_file_name, conclusion: $conclusion, workflow_url: $workflow_url}'
)
echo $result > "result-${{ strategy.job-index }}"
- uses: actions/upload-artifact@v4
if: always()
with:
name: results
path: "result-${{ strategy.job-index }}"

notify-on-failure:
needs: [weekly-tests]
if: ${{ failure() }}
name: Notify Mattermost Channel
notify:
needs: weekly-tests
if: always() # these needs to be run always
name: Notify SolEng with results
runs-on: ubuntu-latest
steps:
- name: Create the Mattermost Message
env:
WEEKLY_TESTS: ${{ needs.weekly-tests.outputs.failed_tests }}
- name: Collect results
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
echo "test"
# - 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 }}
# - uses: mattermost/action-mattermost-notify@master
# env:
# MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}

0 comments on commit 3480630

Please sign in to comment.