3365bf8b22
* install pnpm through corepack * remove engine from services package.json
90 lines
2.5 KiB
YAML
90 lines
2.5 KiB
YAML
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
|