From 2d8bbf2c2851b28a68fd87a04c3cb6b30d89f864 Mon Sep 17 00:00:00 2001 From: Ajit Pratap Singh Date: Tue, 17 Mar 2026 15:34:12 +0530 Subject: [PATCH 1/3] fix(website): enable Next.js static export for GitHub Pages deployment - Add output: 'export' and images.unoptimized for static site generation - Update workflow artifact path from dist to out (Next.js export output dir) - Restore CNAME file to preserve gosqlx.dev custom domain on deploy Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/website.yml | 2 +- website/next.config.ts | 4 ++++ website/public/CNAME | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 website/public/CNAME diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 073568d6..0af4d6f2 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -53,7 +53,7 @@ jobs: - name: Upload Pages artifact uses: actions/upload-pages-artifact@v3 with: - path: website/dist + path: website/out deploy: needs: build diff --git a/website/next.config.ts b/website/next.config.ts index 683997b6..700a0493 100644 --- a/website/next.config.ts +++ b/website/next.config.ts @@ -6,6 +6,10 @@ const withAnalyzer = withBundleAnalyzer({ }); const nextConfig: NextConfig = { + output: 'export', + images: { + unoptimized: true, + }, async headers() { return [ { diff --git a/website/public/CNAME b/website/public/CNAME new file mode 100644 index 00000000..bd782d3b --- /dev/null +++ b/website/public/CNAME @@ -0,0 +1 @@ +gosqlx.dev \ No newline at end of file From 4cfad2b27d420d915996681d0426ac611ee5e39e Mon Sep 17 00:00:00 2001 From: Ajit Pratap Singh Date: Tue, 17 Mar 2026 15:42:29 +0530 Subject: [PATCH 2/3] feat(website): migrate deployment from GitHub Pages to Vercel - Build WASM in CI (requires Go), then deploy prebuilt output to Vercel - Vercel project: gosqlx-website (prj_dC5W1JVnUjCEZ25UQS4XqyXKSwPV) - Custom domain gosqlx.dev configured on Vercel project - Drop pages/id-token permissions, no longer needed Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/website.yml | 52 +++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/.github/workflows/website.yml b/.github/workflows/website.yml index 0af4d6f2..66155b1f 100644 --- a/.github/workflows/website.yml +++ b/.github/workflows/website.yml @@ -11,17 +11,19 @@ on: permissions: contents: read - pages: write - id-token: write concurrency: - group: pages + group: vercel-production cancel-in-progress: true jobs: - build: + deploy: runs-on: ubuntu-latest - timeout-minutes: 15 + timeout-minutes: 20 + environment: + name: production + url: https://gosqlx.dev + steps: - uses: actions/checkout@v4 @@ -44,24 +46,26 @@ jobs: cache: 'npm' cache-dependency-path: website/package-lock.json - - name: Install and build website - run: | - cd website - npm ci - npm run build + - name: Install Vercel CLI + run: npm install -g vercel@latest - - name: Upload Pages artifact - uses: actions/upload-pages-artifact@v3 - with: - path: website/out + - name: Pull Vercel environment + run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} + working-directory: website + env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} - deploy: - needs: build - runs-on: ubuntu-latest - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 + - name: Build with Vercel + run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} + working-directory: website + env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} + + - name: Deploy to Vercel + run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} + working-directory: website + env: + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} From b8f0d219a7882377cc91023882b8fccb497f415a Mon Sep 17 00:00:00 2001 From: Ajit Pratap Singh Date: Tue, 17 Mar 2026 15:44:55 +0530 Subject: [PATCH 3/3] =?UTF-8?q?fix(website):=20remove=20output:=20export?= =?UTF-8?q?=20=E2=80=94=20not=20needed=20for=20Vercel=20deployment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Static export was added for GitHub Pages but breaks Vercel features (headers, redirects, sitemap route). Vercel handles SSR natively. Co-Authored-By: Claude Sonnet 4.6 --- website/next.config.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/website/next.config.ts b/website/next.config.ts index 700a0493..683997b6 100644 --- a/website/next.config.ts +++ b/website/next.config.ts @@ -6,10 +6,6 @@ const withAnalyzer = withBundleAnalyzer({ }); const nextConfig: NextConfig = { - output: 'export', - images: { - unoptimized: true, - }, async headers() { return [ {