From 4b229dee8ecbeca5e0aed830d33276898d8079ed Mon Sep 17 00:00:00 2001 From: rchlfryn Date: Wed, 18 Feb 2026 10:49:13 -0800 Subject: [PATCH 1/4] Change release to be on tag push to make GHA easier to read --- .github/workflows/production.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml index f62cce7ac..ed7ca80d5 100644 --- a/.github/workflows/production.yaml +++ b/.github/workflows/production.yaml @@ -1,11 +1,12 @@ name: production +run-name: 'Deploy ${{ github.ref_name }}' env: VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} on: push: - branches: - - 'release' + tags: + - 'v*' # Allow manual triggering workflow_dispatch: inputs: @@ -94,8 +95,7 @@ jobs: set -o nounset set -o pipefail - ref="${{ github.event.ref }}" - branch="${ref##refs/heads/}" + branch="release" echo "Cleaning up deployments and aliases for branch: $branch" From 9bb956ed2a7d551ab9c8e4a91e1eb8e48635439b Mon Sep 17 00:00:00 2001 From: rchlfryn Date: Wed, 18 Feb 2026 10:51:15 -0800 Subject: [PATCH 2/4] Fix manual deployments --- .github/workflows/production.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml index ed7ca80d5..21889b56c 100644 --- a/.github/workflows/production.yaml +++ b/.github/workflows/production.yaml @@ -78,8 +78,9 @@ jobs: set -o pipefail fullName="${{ github.repository }}" + author="${{ github.event.pusher.name || github.actor }}" vercel deploy --yes --prebuilt --target=production \ - --meta='githubCommitAuthorName=${{ github.event.pusher.name }}' \ + --meta="githubCommitAuthorName=${author}" \ --meta='githubCommitOrg=${{ github.repository_owner }}' \ --meta='githubCommitRef=release' \ --meta="githubCommitRepo=${fullName##*/}" \ @@ -87,7 +88,7 @@ jobs: --meta='githubDeployment=1' \ --meta='githubOrg=${{ github.repository_owner }}' \ --meta="githubRepo=${fullName##*/}" \ - --meta='githubCommitAuthorLogin=${{ github.event.pusher.name }}' \ + --meta="githubCommitAuthorLogin=${author}" \ --token=${{ secrets.VERCEL_TOKEN }} - name: Remove old Vercel deployments (keep latest 2) run: | From 8b43234ba1add7f917cd142b9d648f0666bbfdff Mon Sep 17 00:00:00 2001 From: rchlfryn Date: Wed, 18 Feb 2026 11:09:33 -0800 Subject: [PATCH 3/4] Add rule for claude to make PR descriptions --- CLAUDE.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 5b971cf6c..b1787b674 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -390,6 +390,10 @@ When triggered via GitHub Issues (with `@claude` mention): 3. Follow existing code patterns and styles in the codebase 4. Run `pnpm prettify`, `pnpm tsc`, and `pnpm lint` before committing +### Pull Request Descriptions + +When asked to write a PR description, follow the template in `.github/PULL_REQUEST_TEMPLATE.md` and return the description in markdown. + ### Creating the PR 1. Write a clear PR title summarizing the change From cf19ff086dd6c3086cfb505448fc1c8066cdfa38 Mon Sep 17 00:00:00 2001 From: rchlfryn Date: Wed, 18 Feb 2026 11:20:23 -0800 Subject: [PATCH 4/4] Ensure we push new changes before releasing with tag push --- .github/workflows/production.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/production.yaml b/.github/workflows/production.yaml index 21889b56c..4a8fd850d 100644 --- a/.github/workflows/production.yaml +++ b/.github/workflows/production.yaml @@ -38,6 +38,15 @@ jobs: TURSO_API_TOKEN: ${{ secrets.TURSO_API_TOKEN }} - name: 🏗 Setup repo uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Verify release branch is up to date + run: | + git fetch origin release + if [ "$(git rev-parse HEAD)" != "$(git rev-parse origin/release)" ]; then + echo "::error::Tag commit doesn't match release branch. Did you forget 'git push origin'?" + exit 1 + fi - name: 🏗 Setup pnpm uses: pnpm/action-setup@v4 - name: 🏗 Setup Node