wildebeest/.github/workflows/PRs.yml

82 wiersze
1.9 KiB
YAML

name: Pull request checks
on:
push:
pull_request:
# This allows a subsequently queued workflow run to interrupt previous runs
concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true
jobs:
test-api:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16.13.x
- name: Install
run: yarn
- name: Build
run: yarn build
- name: Run API tests
run: yarn test
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16.13.x
- name: Install
run: yarn && yarn --cwd frontend
- name: Check formatting
run: yarn pretty
- name: Check backend linting
run: yarn lint:backend
- name: Check functions linting
run: yarn lint:functions
- name: Check frontend linting
run: yarn lint:frontend
- name: Check frontend types
run: yarn --cwd types-check
test-ui:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16.13.x
- name: Install dependencies
run: yarn
- name: Run App in the background
run: yarn ci-dev-test-ui &
- name: Install Playwright Browsers
run: yarn playwright install --with-deps
- name: Run Playwright tests
run: yarn playwright test
- uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30