element-web/.github/workflows/end-to-end-tests.yaml

58 lines
2.0 KiB
YAML

name: End-to-end Tests
on:
# These tests won't work for non-develop branches at the moment as they
# won't pull in the right versions of other repos, so they're only enabled
# on develop.
push:
branches: [ develop, master ]
pull_request:
branches: [ develop ]
repository_dispatch:
types: [ upstream-sdk-notify ]
env:
# These must be set for fetchdep.sh to get the right branch
REPOSITORY: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
jobs:
end-to-end:
runs-on: ubuntu-latest
container: vectorim/element-web-ci-e2etests-env:latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- uses: actions/setup-node@v3
with:
cache: 'yarn'
- name: Prepare End-to-End tests
run: ./scripts/ci/prepare-end-to-end-tests.sh
- name: Run End-to-End tests
run: ./scripts/ci/run-end-to-end-tests.sh
- name: Archive logs
uses: actions/upload-artifact@v2
if: ${{ always() }}
with:
path: |
test/end-to-end-tests/logs/**/*
test/end-to-end-tests/synapse/installations/consent/homeserver.log
retention-days: 14
- name: Store benchmark result
if: github.ref == 'refs/heads/develop' && github.repository == 'matrix-org/matrix-react-sdk'
uses: matrix-org/github-action-benchmark@jsperfentry-1
with:
tool: 'jsperformanceentry'
output-file-path: test/end-to-end-tests/performance-entries.json
# This is the default dashboard path. It's included here anyway to
# make the difference from the Cypress variant in
# `element-build-and-test.yaml` more obvious.
# The dashboard is available at https://matrix-org.github.io/matrix-react-sdk/dev/bench/
benchmark-data-dir-path: dev/bench
fail-on-alert: false
comment-on-alert: false
github-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
auto-push: ${{ github.ref == 'refs/heads/develop' }}