Files
alfresco-content-app/.github/workflows/cron-e2e.yml

104 lines
3.3 KiB
YAML

name: "Cron multibrowser E2E runs"
run-name: ${{ github.event_name == 'workflow_dispatch' && 'Manual multibrowser E2E run' || 'Cron multibrowser E2E run' }}
on:
schedule:
- cron: '0 6 * * 1-5' #At 06:00 on every day-of-week from Monday through Friday.
workflow_dispatch:
jobs:
chrome:
name: "Cron browser E2E run - chrome"
uses: ./.github/workflows/e2e-playwright-reusable.yml
with:
browser: chrome
secrets:
REPORT_PORTAL_TOKEN: ${{ secrets.REPORT_PORTAL_TOKEN }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }}
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }}
firefox:
name: "Cron browser E2E run - firefox"
needs: chrome
if: ${{ always() }}
uses: ./.github/workflows/e2e-playwright-reusable.yml
with:
browser: firefox
secrets:
REPORT_PORTAL_TOKEN: ${{ secrets.REPORT_PORTAL_TOKEN }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }}
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }}
webkit:
name: "Cron browser E2E run - webkit"
needs: firefox
if: ${{ always() }}
uses: ./.github/workflows/e2e-playwright-reusable.yml
with:
browser: webkit
secrets:
REPORT_PORTAL_TOKEN: ${{ secrets.REPORT_PORTAL_TOKEN }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }}
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }}
msedge:
name: "Cron browser E2E run - msedge"
needs: webkit
if: ${{ always() }}
uses: ./.github/workflows/e2e-playwright-reusable.yml
with:
browser: msedge
secrets:
REPORT_PORTAL_TOKEN: ${{ secrets.REPORT_PORTAL_TOKEN }}
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }}
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }}
report-to-teams:
name: "Aggregate results and notify Teams"
needs: [chrome, firefox, webkit, msedge]
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Before install
uses: ./.github/actions/before-install
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Download all blob reports
id: download-blobs
continue-on-error: true
uses: actions/download-artifact@v8
with:
pattern: blob-*
path: all-blobs
- name: Retry blob download on failure
if: steps.download-blobs.outcome == 'failure'
continue-on-error: true
uses: actions/download-artifact@v8
with:
pattern: blob-*
path: all-blobs
- name: Aggregate results and post Teams report
continue-on-error: true
env:
TEAMS_WEBHOOK_URL: ${{ secrets.TEAMS_E2E_WEBHOOK_URL }}
CHROME_RESULT: ${{ needs.chrome.result }}
FIREFOX_RESULT: ${{ needs.firefox.result }}
WEBKIT_RESULT: ${{ needs.webkit.result }}
MSEDGE_RESULT: ${{ needs.msedge.result }}
run: node .github/scripts/e2e-teams-report.js