Migrate docs to our template #224
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: 🚀 Validation Pipeline | |
| concurrency: | |
| group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| actions: write | |
| contents: read | |
| # Required to put a comment into the pull-request | |
| pull-requests: write | |
| jobs: | |
| lint: | |
| name: ⬣ Biome lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: ⬇️ Checkout repo | |
| uses: actions/checkout@v4 | |
| - name: Setup Biome | |
| uses: biomejs/setup-biome@v2 | |
| - name: Run Biome | |
| run: biome ci . | |
| validate: | |
| name: 🔎 Validate | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 🛑 Cancel Previous Runs | |
| uses: styfle/cancel-workflow-action@0.12.1 | |
| - name: ⬇️ Checkout repo | |
| uses: actions/checkout@v4 | |
| - name: ⎔ Setup node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: 🔎 Validate | |
| run: pnpm run test | |
| build-docs: | |
| if: ${{ github.event_name == 'pull_request' }} | |
| name: Build Docs | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Setup Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: "package.json" | |
| cache: "pnpm" | |
| - name: Install deps | |
| run: pnpm install --prefer-offline --frozen-lockfile | |
| - name: Generate docs | |
| working-directory: docs | |
| run: pnpm run generate:docs | |
| - name: Upload generated docs artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: docs-generated | |
| path: | | |
| docs/generated-docs/** | |
| docs/app/utils/versions.ts | |
| if-no-files-found: error | |
| deploy-docs-pr-preview: | |
| if: ${{ github.event_name == 'pull_request' }} | |
| name: 🚀 Deploy Docs | |
| needs: [lint, validate, build-docs] | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: docs-release | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download generated docs | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: docs-generated | |
| path: docs | |
| # check TODO remove this | |
| - name: List generated payload | |
| run: ls -laR docs/generated-docs | head -n 200 | |
| - uses: forge-42/fly-deploy@v1.0.0-rc.2 | |
| id: deploy | |
| env: | |
| FLY_ORG: ${{ vars.FLY_ORG }} | |
| FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} | |
| FLY_REGION: ${{ vars.FLY_REGION }} | |
| with: | |
| workspace_name: docs | |
| app_name: react-router-devtools-docs-pr-${{ github.event.number }} | |
| use_isolated_workspace: true | |
| env_vars: | | |
| APP_ENV=production | |
| GITHUB_OWNER=${{ github.repository_owner }} | |
| GITHUB_REPO=${{ github.event.repository.name }} | |
| GITHUB_REPO_URL=https://github.com/${{ github.repository }} |