chore(deps-dev): Bump eslint-plugin-perfectionist from 4.15.1 to 5.0.0 #3
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Deploy to Cloudflare Pages | |
| # This workflow deploys blit-tech-demos to Cloudflare Pages. | |
| # The blit-tech library is cloned and built as a dependency, | |
| # but is NOT tested here (it has its own CI in vancura/blit-tech). | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| quality: | |
| name: Code Quality | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout blit-tech library | |
| uses: actions/checkout@v6 | |
| with: | |
| repository: vancura/blit-tech | |
| path: blit-tech | |
| - name: Checkout blit-tech-demos | |
| uses: actions/checkout@v6 | |
| with: | |
| path: blit-tech-demos | |
| - name: Create workspace config | |
| run: | | |
| cat > pnpm-workspace.yaml << EOF | |
| packages: | |
| - 'blit-tech' | |
| - 'blit-tech-demos' | |
| EOF | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Build blit-tech library (dependency - not tested here) | |
| run: | | |
| cd blit-tech | |
| pnpm build | |
| - name: Check formatting (blit-tech-demos only) | |
| run: | | |
| cd blit-tech-demos | |
| pnpm format:check | |
| - name: Lint code (blit-tech-demos only) | |
| run: | | |
| cd blit-tech-demos | |
| pnpm lint | |
| - name: Type check (blit-tech-demos only) | |
| run: | | |
| cd blit-tech-demos | |
| pnpm typecheck | |
| build-library: | |
| name: Build blit-tech Library | |
| runs-on: ubuntu-latest | |
| needs: quality | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| with: | |
| repository: vancura/blit-tech | |
| path: blit-tech | |
| - name: Checkout demos | |
| uses: actions/checkout@v6 | |
| with: | |
| path: blit-tech-demos | |
| - name: Create workspace config | |
| run: | | |
| cat > pnpm-workspace.yaml << EOF | |
| packages: | |
| - 'blit-tech' | |
| - 'blit-tech-demos' | |
| EOF | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Build blit-tech library | |
| run: | | |
| cd blit-tech | |
| pnpm build | |
| - name: Upload library artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: blit-tech-library | |
| path: blit-tech/dist/ | |
| retention-days: 1 | |
| build-demos: | |
| name: Build Demos | |
| runs-on: ubuntu-latest | |
| needs: build-library | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| with: | |
| repository: vancura/blit-tech | |
| path: blit-tech | |
| - name: Checkout demos | |
| uses: actions/checkout@v6 | |
| with: | |
| path: blit-tech-demos | |
| - name: Create workspace config | |
| run: | | |
| cat > pnpm-workspace.yaml << EOF | |
| packages: | |
| - 'blit-tech' | |
| - 'blit-tech-demos' | |
| EOF | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'pnpm' | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Download library artifacts | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: blit-tech-library | |
| path: blit-tech/dist/ | |
| - name: Build demos | |
| run: | | |
| cd blit-tech-demos | |
| pnpm build | |
| - name: Upload demos artifacts | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: demos-dist | |
| path: blit-tech-demos/dist/ | |
| retention-days: 7 | |
| deploy: | |
| name: Deploy to Cloudflare Pages | |
| runs-on: ubuntu-latest | |
| needs: build-demos | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' | |
| steps: | |
| - name: Download demos artifacts | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: demos-dist | |
| path: dist/ | |
| - name: Publish to Cloudflare Pages | |
| uses: cloudflare/pages-action@v1 | |
| with: | |
| apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} | |
| accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} | |
| projectName: blit-tech-demos | |
| directory: dist | |
| gitHubToken: ${{ secrets.GITHUB_TOKEN }} |