name: Tests on: [push, pull_request] concurrency: ${{ github.workflow }}-${{ github.ref }} jobs: release: name: Tests permissions: contents: read runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@v3 with: # This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits fetch-depth: 0 - name: Setup Node.js lts/* uses: actions/setup-node@v3 with: node-version: lts/* cache: 'yarn' - name: Install Dependencies run: yarn install --frozen-lockfile env: PUPPETEER_DOWNLOAD_BASE_URL: 'https://storage.googleapis.com/chrome-for-testing-public' - name: Build Project run: NODE_OPTIONS='--max-old-space-size=4096' yarn build:all - name: Check types run: yarn check-types - name: Run tests # run: PUPPETEER_EXECUTABLE_PATH=${{ steps.setup-chrome.outputs.chrome-path }} PUPPETEER_HEADLESS=true xvfb-run --server-args="-screen 0 1920x1080x24" yarn test run: PUPPETEER_HEADLESS=true xvfb-run --server-args="-screen 0 1920x1080x24" yarn test - name: Check bundle sizes uses: preactjs/compressed-size-action@v2 with: install-script: 'yarn install --frozen-lockfile' build-script: 'build:all' compression: 'none' pattern: '**/dist/*.{js,cjs,mjs,css}' env: PUPPETEER_SKIP_DOWNLOAD: true - name: Upload diff images to GitHub uses: actions/upload-artifact@v4 if: failure() with: name: image-diff path: packages/**/__image_snapshots__/__diff_output__/*.png if-no-files-found: ignore