Skip to content
Closed

test #233

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/.dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,4 @@ blob-report

# Content collections output files
.content-collections

42 changes: 42 additions & 0 deletions docs/.github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
Fixes #

# Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
List any dependencies that are required for this change.

## Type of change

Please mark relevant options with an `x` in the brackets.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update
- [ ] Algorithm update - updates algorithm documentation/questions/answers etc.
- [ ] Other (please describe):

# How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also
list any relevant details for your test configuration

- [ ] Integration tests
- [ ] Unit tests
- [ ] Manual tests
- [ ] No tests required

# Reviewer checklist

Mark everything that needs to be checked before merging the PR.

- [ ] Check if the UI is working as expected and is satisfactory
- [ ] Check if the code is well documented
- [ ] Check if the behavior is what is expected
- [ ] Check if the code is well tested
- [ ] Check if the code is readable and well formatted
- [ ] Additional checks (document below if any)

# Screenshots (if appropriate):

# Questions (if appropriate):
95 changes: 95 additions & 0 deletions docs/.github/workflows/branch-preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: 🤖 Branch Preview

concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

on:
push:
branches: [main]

jobs:
build-docs:
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
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-on-release:
needs: [build-docs]
name: Deploy Docs for Branch 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/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: ${{github.event.repository.name}}-${{ github.ref_name }}
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 }}
149 changes: 149 additions & 0 deletions docs/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
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-file: "package.json"
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Install dependencies
run: pnpm install
- name: Install Playwright browsers
# downloads browser binaries required by Playwright (Chromium/Firefox/WebKit)
run: pnpm exec playwright install --with-deps
- name: 🔎 Validate
run: pnpm run test

build-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
fetch-depth: 0

- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version-file: "package.json"
cache: pnpm

# One install at the workspace root is enough
- name: Install deps (root)
run: pnpm install --prefer-offline --frozen-lockfile

# Decide where the docs app lives: ./docs or .
- name: Resolve DOCS_DIR
id: paths
shell: bash
run: |
if [ -d docs ] && [ -f docs/package.json ]; then
DOCS_DIR="docs"
else
DOCS_DIR="."
fi

# expose for later steps
echo "DOCS_DIR=$DOCS_DIR" >> "$GITHUB_OUTPUT"

# ok to print within this step using the shell variable
echo "Using DOCS_DIR=$DOCS_DIR"

- name: Generate docs
env:
APP_ENV: production
run: pnpm -C "${{ steps.paths.outputs.DOCS_DIR }}" run generate:docs

- name: Pack generated docs (tarball)
run: |
OUT_BASE="${{ steps.paths.outputs.DOCS_DIR }}"
tar -czf docs-generated.tgz -C "$OUT_BASE" 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: ${{ steps.paths.outputs.DOCS_DIR }}/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/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 }}
25 changes: 25 additions & 0 deletions docs/.github/workflows/pr-close.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: 🧹 PR Close

concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

on:
pull_request:
branches: [main]
types: closed

jobs:

destroy-pr-preview:
name: 🧹 Destroy PR Preview
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: forge-42/fly-destroy@v1.0.0-rc.2
id: destroy
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
FLY_ORG: ${{ vars.FLY_ORG }}
with:
app_name: ${{github.event.repository.name}}-${{ github.event.number }}
Loading
Loading