Skip to content

Feat/migrate to tanstack devtools #265

Feat/migrate to tanstack devtools

Feat/migrate to tanstack devtools #265

Workflow file for this run

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/[email protected]
- name: ⬇️ Checkout repo
uses: actions/checkout@v4
- name: ⎔ Setup node
uses: actions/setup-node@v4
with:
node-version-file: "package.json"
- 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:
# checkout the PR head branch
ref: ${{ github.head_ref }}
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
env:
APP_ENV: production
run: pnpm run generate:docs
- name: Pack generated docs (tarball)
run: |
tar -czf docs-generated.tgz -C docs generated-docs
ls -lh docs-generated.tgz
- name: Upload generated docs (tgz)
uses: actions/upload-artifact@v4
with:
name: docs-generated-tgz
path: docs-generated.tgz
if-no-files-found: error
- name: Upload versions file
uses: actions/upload-artifact@v4
with:
name: docs-versions
path: docs/app/utils/versions.ts
if-no-files-found: error
deploy-docs-pr-preview:
if: ${{ github.event_name == 'pull_request' }}
needs: [lint, validate, build-docs]
name: Deploy Docs PR Preview
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download generated docs (tgz)
uses: actions/download-artifact@v4
with:
name: docs-generated-tgz
path: .
- name: Unpack generated docs into docs/
run: |
set -euxo pipefail
tar -xzf docs-generated.tgz -C docs
ls -laR docs/generated-docs | sed -n '1,200p'
- name: Download versions file
uses: actions/download-artifact@v4
with:
name: docs-versions
path: docs/app/utils
- uses: forge-42/[email protected]
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 }}