name: Test on: pull_request: branches: - '*' concurrency: group: '${{ github.workflow }}-${{ github.head_ref || github.ref }}' cancel-in-progress: true jobs: build: name: Build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: corepack enable && corepack prepare --activate - uses: actions/setup-node@v4 with: node-version-file: package.json cache: 'pnpm' - name: Get current month run: echo "CURRENT_MONTH=$(date +'%Y-%m')" >> $GITHUB_ENV - uses: actions/cache@v4 name: Cache Puppeteer browser binaries with: path: ~/.cache key: ${{ env.CURRENT_MONTH }}-${{ runner.os }} - run: pnpm i --frozen-lockfile - run: pnpm build - uses: actions/upload-artifact@v4 with: name: dist path: | packages/*/dist packages/*/*/dist retention-days: 1 test: name: Test needs: build strategy: matrix: shard: [1/8, 2/8, 3/8, 4/8, 5/8, 6/8, 7/8, 8/8] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: corepack enable && corepack prepare --activate - uses: actions/setup-node@v4 with: node-version-file: package.json cache: 'pnpm' - name: Get current month run: echo "CURRENT_MONTH=$(date +'%Y-%m')" >> $GITHUB_ENV - uses: actions/cache@v4 name: Cache Puppeteer browser binaries with: path: ~/.cache key: ${{ env.CURRENT_MONTH }}-${{ runner.os }} - run: pnpm i --frozen-lockfile - uses: actions/download-artifact@v4 with: name: dist path: packages - run: pnpm test:withFlags --maxWorkers=1 --shard=${{ matrix.shard }} --passWithNoTests verify: name: Verify needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: corepack enable && corepack prepare --activate - uses: actions/setup-node@v4 with: node-version-file: package.json cache: 'pnpm' - name: Get current month run: echo "CURRENT_MONTH=$(date +'%Y-%m')" >> $GITHUB_ENV - uses: actions/cache@v4 name: Cache Puppeteer browser binaries with: path: ~/.cache key: ${{ env.CURRENT_MONTH }}-${{ runner.os }} - run: pnpm i --frozen-lockfile - uses: actions/download-artifact@v4 with: name: dist path: packages - run: pnpm verify