14 changed files with 272 additions and 177 deletions
@ -1,52 +1,53 @@ |
|||
name: Pull Request CI |
|||
|
|||
on: pull_request |
|||
on: |
|||
pull_request: |
|||
types: [opened, synchronize, reopened, ready_for_review] |
|||
|
|||
permissions: |
|||
contents: write |
|||
packages: write |
|||
contents: read |
|||
|
|||
concurrency: |
|||
group: pr-${{ github.event.pull_request.number }}-ci |
|||
cancel-in-progress: true |
|||
|
|||
env: |
|||
CI: true |
|||
|
|||
jobs: |
|||
build-and-package: |
|||
runs-on: ubuntu-latest |
|||
# Skip for draft PRs; remove this line if you want to run on drafts too |
|||
if: ${{ github.event.pull_request.draft == false }} |
|||
|
|||
steps: |
|||
- name: Checkout code |
|||
uses: actions/checkout@v4 |
|||
|
|||
# Node + pnpm with built-in cache |
|||
- name: Setup Node.js |
|||
uses: actions/setup-node@v4 |
|||
with: |
|||
node-version: 22 |
|||
cache: pnpm |
|||
cache-dependency-path: '**/pnpm-lock.yaml' |
|||
|
|||
- name: Setup pnpm |
|||
uses: pnpm/action-setup@v4 |
|||
with: |
|||
version: latest |
|||
|
|||
- name: Install Dependencies |
|||
# Commands will run from 'packages/web' |
|||
working-directory: packages/web |
|||
run: pnpm install |
|||
|
|||
- name: Cache pnpm dependencies |
|||
uses: actions/cache@v4 |
|||
with: |
|||
path: | |
|||
~/.pnpm-store |
|||
packages/web/node_modules |
|||
key: ${{ runner.os }}-pnpm-${{ hashFiles('packages/web/pnpm-lock.yaml') }} |
|||
restore-keys: | |
|||
${{ runner.os }}-pnpm- |
|||
- name: Install dependencies (root) |
|||
run: pnpm install --frozen-lockfile |
|||
|
|||
- name: Run linter |
|||
run: pnpm run lint |
|||
|
|||
- name: Check formatter |
|||
- name: Check formatter |
|||
run: pnpm run check |
|||
|
|||
- name: Run tests |
|||
run: pnpm run test |
|||
|
|||
- name: Build Package |
|||
working-directory: packages/web |
|||
run: pnpm run build |
|||
- name: Build web package |
|||
run: pnpm --filter "./packages/web" run build |
|||
|
|||
Loading…
Reference in new issue