Skip to content

Create config.yml #2067

Create config.yml

Create config.yml #2067

Workflow file for this run

name: PR Checks
on:
pull_request:
branches: [master]
push:
branches: [master]
jobs:
prepare:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/setup
lint:
needs: prepare
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/setup
- name: Run linter
run: pnpm lint
typecheck:
needs: prepare
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/setup
- name: Run type checking
run: pnpm typecheck
test:
needs: prepare
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/setup
- name: Run tests with coverage
run: pnpm test:run --coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage/coverage-final.json
fail_ci_if_error: false
repo-integrity:
needs: prepare
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/setup
- name: Run knip check
run: pnpm repo:knip
- name: Run sherif check
run: pnpm repo:sherif
build:
runs-on: ubuntu-latest
needs: [prepare]
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/setup
- name: Build packages
run: pnpm build
- name: Upload dist artifact
uses: actions/upload-artifact@v4
with:
name: packages-dist
path: |
packages/0/dist
packages/paper/dist
retention-days: 1
if-no-files-found: error
changes:
runs-on: ubuntu-latest
outputs:
docs: ${{ steps.filter.outputs.docs }}
playground: ${{ steps.filter.outputs.playground }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
docs:
- 'apps/docs/**'
playground:
- 'apps/playground/**'
docs-check:
needs: changes
if: ${{ needs.changes.outputs.docs == 'true' && github.event_name == 'pull_request' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: vuetifyjs/setup-action@master
- run: pnpm run build:docs
env:
VITE_API_SERVER_URL: ${{ vars.API_SERVER_URL }}
- name: Link Checker
uses: lycheeverse/lychee-action@v2
with:
lycheeVersion: v0.22.0
args: --config lychee.toml './apps/docs/dist'
fail: true
playground-check:
needs: changes
if: ${{ needs.changes.outputs.playground == 'true' && github.event_name == 'pull_request' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: vuetifyjs/setup-action@master
- run: pnpm run build:play
pkg-pr-new:
needs: [build]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: ./.github/actions/setup
- name: Download dist artifact
uses: actions/download-artifact@v4
with:
name: packages-dist
path: packages
- name: Publish preview
run: pnpm dlx pkg-pr-new publish --compact --pnpm './packages/0' --only-templates