.github/workflows/end-to-end-test.yml
name: End To End Test
on:
push:
branches:
- main
pull_request:
concurrency:
group: end-to-end-${{ github.head_ref }}
cancel-in-progress: true
jobs:
suite:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- name: Setup Python environment
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '16'
cache: 'yarn'
- name: Turbo cache
if: ${{ github.ref_name != 'main' }}
id: turbo-cache
uses: actions/cache@v4
with:
path: node_modules/.cache/turbo
key:
turbo-end-to-end-${{ github.job }}-${{ github.ref_name }}-${{
github.sha }}
restore-keys: |
turbo-end-to-end-${{ github.job }}-${{ github.ref_name }}-
- run: yarn install
- name: Test E2E
uses: GabrielBB/xvfb-action@v1
with:
run: yarn test:e2e
options: '-screen 0 1600x1200x24'
- uses: actions/upload-artifact@v4
if: failure()
with:
name: screenshots
path: |
extension/src/test/e2e/screenshots
extension/src/test/e2e/logs