name: CI on: push: branches: [master] pull_request: branches: [master] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: lint: name: Lint runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup uses: ./ with: version: 10.27.0 - name: Install dependencies run: pnpm install - name: Lint run: pnpm lint typecheck: name: Typecheck runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup uses: ./ with: version: 10.27.0 - name: Install dependencies run: pnpm install - name: Typecheck run: pnpm typecheck build: name: Build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup uses: ./ with: version: 10.27.0 - name: Install dependencies run: pnpm install - name: Build run: pnpm build - name: Check if dist is up to date run: | if [ -n "$(git status --porcelain dist/)" ]; then echo "::error::Distribution files are not up to date. Please run 'pnpm run build' and commit the changes." exit 1 fi