Skip to content

chore(pipeline): use generated preview and pages jobs #43

chore(pipeline): use generated preview and pages jobs

chore(pipeline): use generated preview and pages jobs #43

# 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