From d23cad7abf04f74c9bbe118f3c6906e5a8130de4 Mon Sep 17 00:00:00 2001 From: Ben Senescu <44480372+bensenescu@users.noreply.github.com> Date: Wed, 22 Apr 2026 17:29:37 -0400 Subject: [PATCH] hosted: upload sitemaps to posthog in ci (#130) --- .github/workflows/sourcemaps.yml | 42 ++++++++++++++++++++++++++++++++ .gitignore | 1 + package.json | 1 + vite.config.ts | 5 ++++ 4 files changed, 49 insertions(+) create mode 100644 .github/workflows/sourcemaps.yml diff --git a/.github/workflows/sourcemaps.yml b/.github/workflows/sourcemaps.yml new file mode 100644 index 0000000..ecfbdb4 --- /dev/null +++ b/.github/workflows/sourcemaps.yml @@ -0,0 +1,42 @@ +name: Upload sourcemaps + +on: + push: + branches: + - main + +concurrency: + group: sourcemaps-${{ github.ref }} + cancel-in-progress: true + +jobs: + upload: + if: github.repository != 'every-app/open-seo' + runs-on: ubuntu-latest + + env: + POSTHOG_SOURCEMAPS: "true" + POSTHOG_CLI_HOST: ${{ secrets.POSTHOG_CLI_HOST }} + POSTHOG_CLI_PROJECT_ID: ${{ secrets.POSTHOG_CLI_PROJECT_ID }} + POSTHOG_CLI_API_KEY: ${{ secrets.POSTHOG_CLI_API_KEY }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup pnpm + uses: pnpm/action-setup@v4 + with: + version: 9 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build and upload sourcemaps + run: pnpm run sourcemaps:upload diff --git a/.gitignore b/.gitignore index 9d2eaf4..7c07d03 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ package-lock.json yarn.lock .dev.vars dist/ +dist-sourcemaps/ .wrangler /tmp diff --git a/package.json b/package.json index 5791724..38d9cfb 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "lint:fix": "oxlint . --type-aware --fix", "preview": "npm run build && vite preview --port 3001", "deploy": "npm run db:migrate:prod && npm run build && wrangler deploy", + "sourcemaps:upload": "POSTHOG_SOURCEMAPS=true npm run build && pnpm dlx @posthog/cli sourcemap inject --directory ./dist-sourcemaps && pnpm dlx @posthog/cli sourcemap upload --directory ./dist-sourcemaps", "cf-typegen": "wrangler types", "types:check": "tsc --noEmit", "format:check": "prettier --check .", diff --git a/vite.config.ts b/vite.config.ts index 22e4dbb..18fe23b 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -11,6 +11,7 @@ export default defineConfig(({ mode }) => { const port = env.PORT ? Number(env.PORT) : 3001; const showDevtools = env.VITE_SHOW_DEVTOOLS !== "false"; const allowedHosts = env.ALLOWED_HOST ? [env.ALLOWED_HOST] : undefined; + const emitSourcemaps = env.POSTHOG_SOURCEMAPS === "true"; return { envPrefix: ["VITE_", "AUTH_MODE", "POSTHOG_PUBLIC_KEY", "POSTHOG_HOST"], @@ -21,6 +22,10 @@ export default defineConfig(({ mode }) => { allowedHosts, port, }, + build: { + sourcemap: emitSourcemaps, + outDir: emitSourcemaps ? "dist-sourcemaps" : "dist", + }, plugins: [ showDevtools ? devtools({