Skip to content

test(e2e): revive e2e test framework #117

test(e2e): revive e2e test framework

test(e2e): revive e2e test framework #117

Workflow file for this run

name: Workflow
on:
# Run on pushes to main..
push:
branches:
- main
# ..and any pull request.
pull_request:
# Cancel any in progress run of the workflow for a given PR
# This avoids building outdated code
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: '18'
check-latest: true
- run: yarn
- run: yarn format:check
- run: yarn lint
depcheck:
name: Depcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: '18'
check-latest: true
- run: yarn
- run: yarn depcheck
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: '18'
check-latest: true
- run: yarn
- run: yarn typecheck
- run: yarn test:ci
e2e:
name: E2E
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: '18'
check-latest: true
- name: Install linux deps
run: |
sudo apt-get install --no-install-recommends -y \
fluxbox \
xvfb
- name: Run xvfb and fluxbox
run: |
Xvfb :0 -screen 0 1024x768x24 -listen tcp -ac &
fluxbox &
env:
DISPLAY: :0.0
- run: yarn
- run: yarn build
- name: Synpress
uses: cypress-io/github-action@v6
timeout-minutes: 60
with:
command: yarn e2e
start: yarn start
wait-on: http://localhost:3000
browser: chrome
spec: test/e2e/specs/*.js
- uses: actions/upload-artifact@v3
if: failure()
with:
name: videos
path: tests/e2e/videos
deploy:
if: github.ref == 'refs/heads/main'
name: Deploy to GH Pages
runs-on: ubuntu-latest
needs:
- lint
- depcheck
- test
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: '18'
check-latest: true
- run: yarn deploy