feat(auth): migrate auth ui to unique domain

This commit is contained in:
RainbowBird
2026-06-09 00:15:34 +08:00
parent ff7c18694a
commit 57ba232432
38 changed files with 682 additions and 234 deletions
@@ -0,0 +1,68 @@
name: Cloudflare Pages (Auth UI)
on:
push:
branches:
- 'main'
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
deploy:
name: Deploy - ui-server-auth
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
environment:
name: Auth Production
url: https://auth.airi.build/ui/
steps:
- uses: actions/checkout@v6
# Turborepo
- name: Cache turbo build setup
uses: actions/cache@v5
with:
path: .turbo
key: ${{ runner.os }}-turbo-${{ github.sha }}
restore-keys: |
${{ runner.os }}-turbo-
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
node-version: lts/*
cache: pnpm
# NOTICE:
#
# Keep the wrangler setup consistent with the stage-web deployment
# workflow. cloudflare/wrangler-action expects a usable wrangler binary
# when running repository-local pnpm workspaces.
- run: pnpm i -g wrangler@4
- run: pnpm install --frozen-lockfile
- run: pnpm run build:packages
- name: Build ui-server-auth
run: pnpm -F @proj-airi/ui-server-auth run build
env:
VITE_ENABLE_POSTHOG: 'true'
VITE_SERVER_URL: 'https://api.airi.build'
- run: |
CI=true pnpm install -g @posthog/cli
pnpm exec posthog-cli sourcemap inject --directory ./apps/ui-server-auth/dist
pnpm exec posthog-cli sourcemap upload --directory ./apps/ui-server-auth/dist
env:
POSTHOG_CLI_ENV_ID: ${{ secrets.POSTHOG_ENV_ID }}
POSTHOG_CLI_TOKEN: ${{ secrets.POSTHOG_TOKEN }}
continue-on-error: true
- uses: cloudflare/wrangler-action@v3.14.1
with:
apiToken: ${{ secrets.AUTH_CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.AUTH_CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy ./apps/ui-server-auth/dist --project-name=moeru-ai-airi-auth --branch=main
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
@@ -12,7 +12,7 @@ concurrency:
cancel-in-progress: true
jobs:
deploy:
deploy-stage-web:
name: Deploy - stage-web (server-dev)
runs-on: ubuntu-latest
permissions:
@@ -83,3 +83,50 @@ jobs:
echo "preview_url=$preview_url" >> "$GITHUB_OUTPUT"
echo "Preview URL: $preview_url"
deploy-auth-ui:
name: Deploy - ui-server-auth (server-dev)
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
environment:
name: AuthServerDev
url: https://server-dev.airi-server-auth.pages.dev/ui/
steps:
- uses: actions/checkout@v6
# Turborepo
- name: Cache turbo build setup
uses: actions/cache@v5
with:
path: .turbo
key: ${{ runner.os }}-turbo-auth-${{ github.sha }}
restore-keys: |
${{ runner.os }}-turbo-auth-
${{ runner.os }}-turbo-
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v6
with:
node-version: lts/*
cache: pnpm
- run: pnpm i -g wrangler@4
- run: pnpm install --frozen-lockfile
- run: pnpm run build:packages
- name: Build ui-server-auth
run: pnpm -F @proj-airi/ui-server-auth run build
env:
VITE_SERVER_URL: 'https://airi-server-dev.up.railway.app'
- name: Wrangler Pages Deploy
uses: cloudflare/wrangler-action@v3.14.1
with:
apiToken: ${{ secrets.AUTH_CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.AUTH_CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy ./apps/ui-server-auth/dist --project-name=moeru-ai-airi-auth --branch=server-dev
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
- name: Print preview URL
run: |
echo "Preview URL: https://server-dev.airi-server-auth.pages.dev/ui/"
+16 -24
View File
@@ -13,33 +13,15 @@ concurrency:
jobs:
deploy:
name: Deploy - ${{ matrix.app_name }}
name: Deploy - stage-web
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
strategy:
matrix:
include:
- app_name: stage-web
environment_name: Production
environment_url: https://airi.moeru.ai/docs/
cloudflare_pages_id: moeru-ai-airi
dist_directory: ./apps/stage-web/dist
command: |
pnpm -F @proj-airi/stage-web run build
pnpm -F @proj-airi/docs run build:base
mv ./docs/.vitepress/dist ./apps/stage-web/dist/docs
cp ./apps/stage-web/dist/docs/sitemap.xml ./apps/stage-web/dist/sitemap.xml
pnpm -F @proj-airi/stage-ui run story:build
mv ./packages/stage-ui/.histoire/dist ./apps/stage-web/dist/ui
environment:
name: ${{ matrix.environment_name }}
url: ${{ matrix.environment_url }}
name: Production
url: https://airi.moeru.ai/docs/
steps:
- uses: actions/checkout@v6
@@ -72,18 +54,28 @@ jobs:
- run: pnpm i -g wrangler@4
- run: pnpm install --frozen-lockfile
- run: pnpm run build:packages
- run: ${{ matrix.command }}
- name: Build stage-web
run: |
pnpm -F @proj-airi/stage-web run build
pnpm -F @proj-airi/docs run build:base
mv ./docs/.vitepress/dist ./apps/stage-web/dist/docs
cp ./apps/stage-web/dist/docs/sitemap.xml ./apps/stage-web/dist/sitemap.xml
pnpm -F @proj-airi/stage-ui run story:build
mv ./packages/stage-ui/.histoire/dist ./apps/stage-web/dist/ui
env:
S3_ACCESS_KEY_ID: ${{ secrets.S3_ACCESS_KEY_ID }}
S3_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_ACCESS_KEY }}
S3_ENDPOINT: ${{ secrets.S3_ENDPOINT }}
S3_REGION: ${{ secrets.S3_REGION }}
VITE_ENABLE_POSTHOG: 'true'
VITE_SERVER_URL: 'https://api.airi.build'
WARP_DRIVE_PUBLIC_BASE: ${{ secrets.WARP_DRIVE_PUBLIC_BASE }}
- run: |
CI=true pnpm install -g @posthog/cli
pnpm exec posthog-cli sourcemap inject --directory ${{ matrix.dist_directory }}
pnpm exec posthog-cli sourcemap upload --directory ${{ matrix.dist_directory }}
pnpm exec posthog-cli sourcemap inject --directory ./apps/stage-web/dist
pnpm exec posthog-cli sourcemap upload --directory ./apps/stage-web/dist
env:
POSTHOG_CLI_ENV_ID: ${{ secrets.POSTHOG_ENV_ID }}
POSTHOG_CLI_TOKEN: ${{ secrets.POSTHOG_TOKEN }}