chore(pipeline): use generated preview and pages jobs #43
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
| # Generated by async-pipeline. Do not edit by hand. | |
| # Run: async-pipeline github generate | |
| name: Async Pipeline | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - "main" | |
| release: | |
| types: | |
| - "published" | |
| workflow_dispatch: | |
| inputs: | |
| job: | |
| description: "Pipeline job to run" | |
| required: true | |
| type: choice | |
| options: | |
| - "pages" | |
| - "publish" | |
| - "release-doctor" | |
| - "verify" | |
| permissions: | |
| contents: read | |
| jobs: | |
| publish: | |
| name: publish | |
| if: (github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'publish') || (github.event_name == 'release' && (github.event.action == 'published')) | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: "npm-publish" | |
| url: "https://www.npmjs.com/package/@async/framework" | |
| permissions: | |
| contents: write | |
| id-token: write | |
| packages: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Restore task cache | |
| uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4 | |
| with: | |
| path: .async/cache | |
| key: async-pipeline-${{ runner.os }}-${{ github.sha }} | |
| restore-keys: | | |
| async-pipeline-${{ runner.os }}- | |
| - name: Setup pnpm runtime | |
| uses: pnpm/setup@cf03a9b516e09bc5a90f041fc26fc930c9dc631b # v1.0.0 | |
| with: | |
| version: 11.1.0 | |
| runtime: node@24 | |
| install: false | |
| cache: true | |
| cache-dependency-path: "pnpm-lock.yaml" | |
| - name: Use current npm | |
| run: npm install -g npm@11.16.0 | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Check generated workflow | |
| run: pnpm async-pipeline github check | |
| - name: Run pipeline job | |
| run: pnpm async-pipeline run publish | |
| env: | |
| CI: true | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| NODE_AUTH_TOKEN: ${{ secrets.npm_token }} | |
| - name: Explain async-pipeline run | |
| if: failure() | |
| run: pnpm async-pipeline explain --run latest || true | |
| - name: Upload async-pipeline run evidence | |
| if: always() | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: async-pipeline-${{ github.job }}-runs | |
| path: .async/runs | |
| if-no-files-found: ignore | |
| release-doctor: | |
| name: release-doctor | |
| if: github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'release-doctor' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| packages: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Restore task cache | |
| uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4 | |
| with: | |
| path: .async/cache | |
| key: async-pipeline-${{ runner.os }}-${{ github.sha }} | |
| restore-keys: | | |
| async-pipeline-${{ runner.os }}- | |
| - name: Setup pnpm runtime | |
| uses: pnpm/setup@cf03a9b516e09bc5a90f041fc26fc930c9dc631b # v1.0.0 | |
| with: | |
| version: 11.1.0 | |
| runtime: node@24 | |
| install: false | |
| cache: true | |
| cache-dependency-path: "pnpm-lock.yaml" | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Check generated workflow | |
| run: pnpm async-pipeline github check | |
| - name: Run pipeline job | |
| run: pnpm async-pipeline run release-doctor | |
| env: | |
| CI: true | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Explain async-pipeline run | |
| if: failure() | |
| run: pnpm async-pipeline explain --run latest || true | |
| - name: Upload async-pipeline run evidence | |
| if: always() | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: async-pipeline-${{ github.job }}-runs | |
| path: .async/runs | |
| if-no-files-found: ignore | |
| verify: | |
| name: verify | |
| if: (github.event_name == 'pull_request') || (github.event_name == 'push' && (github.ref == 'refs/heads/main')) || (github.event_name == 'release' && (github.event.action == 'published')) || (github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'verify') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Restore task cache | |
| uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4 | |
| with: | |
| path: .async/cache | |
| key: async-pipeline-${{ runner.os }}-${{ github.sha }} | |
| restore-keys: | | |
| async-pipeline-${{ runner.os }}- | |
| - name: Setup pnpm runtime | |
| uses: pnpm/setup@cf03a9b516e09bc5a90f041fc26fc930c9dc631b # v1.0.0 | |
| with: | |
| version: 11.1.0 | |
| runtime: node@24 | |
| install: false | |
| cache: true | |
| cache-dependency-path: "pnpm-lock.yaml" | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Check generated workflow | |
| run: pnpm async-pipeline github check | |
| - name: Run pipeline job | |
| run: pnpm async-pipeline run verify | |
| env: | |
| CI: true | |
| - name: Explain async-pipeline run | |
| if: failure() | |
| run: pnpm async-pipeline explain --run latest || true | |
| - name: Upload async-pipeline run evidence | |
| if: always() | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: async-pipeline-${{ github.job }}-runs | |
| path: .async/runs | |
| if-no-files-found: ignore | |
| pages: | |
| name: pages | |
| if: (github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'pages') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - name: Restore task cache | |
| uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4 | |
| with: | |
| path: .async/cache | |
| key: async-pipeline-${{ runner.os }}-${{ github.sha }} | |
| restore-keys: | | |
| async-pipeline-${{ runner.os }}- | |
| - name: Setup pnpm runtime | |
| uses: pnpm/setup@cf03a9b516e09bc5a90f041fc26fc930c9dc631b # v1.0.0 | |
| with: | |
| version: 11.1.0 | |
| runtime: node@24 | |
| install: false | |
| cache: true | |
| cache-dependency-path: "pnpm-lock.yaml" | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Check generated workflow | |
| run: pnpm async-pipeline github check | |
| - name: Run Pages target | |
| run: pnpm async-pipeline run-task docs.site | |
| env: | |
| CI: true | |
| - name: Configure Pages | |
| uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5 | |
| - name: Upload Pages artifact | |
| uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4 | |
| with: | |
| path: ".async/pages" | |
| - name: Explain async-pipeline run | |
| if: failure() | |
| run: pnpm async-pipeline explain --run latest || true | |
| - name: Upload async-pipeline run evidence | |
| if: always() | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: async-pipeline-${{ github.job }}-runs | |
| path: .async/runs | |
| if-no-files-found: ignore | |
| pages-deploy: | |
| name: pages-deploy | |
| needs: "pages" | |
| if: github.event_name != 'pull_request' | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: "github-pages" | |
| url: "${{ steps.deployment.outputs.page_url }}" | |
| permissions: | |
| pages: write | |
| id-token: write | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4 |