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