From c81bfe33b509e090db24b443292f01cd075eac65 Mon Sep 17 00:00:00 2001 From: BlakeBr0 Date: Tue, 1 Sep 2026 22:18:33 -0500 Subject: [PATCH 1/6] Add preview deployment workflow --- .github/workflows/preview.yml | 68 +++++++++++++++++++++++++++++++++++ apps/web/app/app.vue | 1 + 2 files changed, 69 insertions(+) create mode 100644 .github/workflows/preview.yml diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml new file mode 100644 index 00000000..71f81a8f --- /dev/null +++ b/.github/workflows/preview.yml @@ -0,0 +1,68 @@ +name: Deploy Web Preview + +on: + pull_request: + types: [opened, synchronize, reopened] + paths: + - pnpm-lock.yaml + - apps/web/**/* + workflow_dispatch: + +jobs: + deploy-preview: + runs-on: ubuntu-latest + name: Deploy Worker Preview + + permissions: + pull-requests: write + contents: read + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup PNPM + uses: pnpm/action-setup@v6 + + - name: Setup Node + uses: actions/setup-node@v7 + with: + node-version: 24.x + cache: pnpm + + - name: Install Dependencies + run: pnpm install --frozen-lockfile + + - name: Build + env: + NITRO_PRESET: cloudflare_module + SENTRY_AUTH: ${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_ORG: ${{ secrets.SENTRY_ORG }} + SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} + run: pnpm build --filter @blakesmods/web + + - name: Publish Preview Deployment + id: wrangler_deploy + uses: cloudflare/wrangler-action@v3 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + command: versions upload --name blakesmods + gitHubToken: ${{ secrets.GITHUB_TOKEN }} + workingDirectory: apps/web + packageManager: pnpm + + - name: Comment Preview URL on PR + uses: actions/github-script@v7 + with: + script: | + const deploymentUrl = "${{ steps.wrangler_deploy.outputs.deployment-url }}"; + + const commentBody = `šŸš€ **Cloudflare Worker Preview Deployed!**\n\nšŸ”— [View Preview Deployment](${deploymentUrl})`; + + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: commentBody + }) diff --git a/apps/web/app/app.vue b/apps/web/app/app.vue index 881be9fc..df4a06b2 100644 --- a/apps/web/app/app.vue +++ b/apps/web/app/app.vue @@ -5,6 +5,7 @@ color="repeating-linear-gradient(to right, var(--color-secondary) 0%, var(--color-primary) 50%, var(--color-secondary) 100%)" /> + PREVIEW TEST From 3039ff69b7f80f446556660b98fef80df77abdf6 Mon Sep 17 00:00:00 2001 From: BlakeBr0 Date: Tue, 1 Sep 2026 22:27:52 -0500 Subject: [PATCH 2/6] Just use npm for wrangler --- .github/workflows/preview.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 71f81a8f..6c857570 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -50,7 +50,6 @@ jobs: command: versions upload --name blakesmods gitHubToken: ${{ secrets.GITHUB_TOKEN }} workingDirectory: apps/web - packageManager: pnpm - name: Comment Preview URL on PR uses: actions/github-script@v7 From d99dc651897bd36afc5d557e9f268b3eb01269fa Mon Sep 17 00:00:00 2001 From: BlakeBr0 Date: Tue, 1 Sep 2026 22:36:45 -0500 Subject: [PATCH 3/6] Add output directory to wrangler command Fix update json endpoint test not checking for released --- .github/workflows/preview.yml | 2 +- apps/api/test/mods.test.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 6c857570..ae294537 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -47,7 +47,7 @@ jobs: with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - command: versions upload --name blakesmods + command: versions upload .output --name blakesmods gitHubToken: ${{ secrets.GITHUB_TOKEN }} workingDirectory: apps/web diff --git a/apps/api/test/mods.test.ts b/apps/api/test/mods.test.ts index 34f06a38..e0d86c3d 100644 --- a/apps/api/test/mods.test.ts +++ b/apps/api/test/mods.test.ts @@ -102,7 +102,8 @@ describe("GET /v2/mods/:mod_id/:mc_version_group/updates", () => { const db = app.mongo.db!; const mod = await db.collection(Collections.Mods).findOne(); const file = await db.collection(Collections.ModFiles).findOne({ - mod_id: mod!.mod_id + mod_id: mod!.mod_id, + released: true }); const response = await app.inject({ From 75e5321f39c23ff7fde2a20e7b88e468293fc4c1 Mon Sep 17 00:00:00 2001 From: BlakeBr0 Date: Tue, 1 Sep 2026 22:44:51 -0500 Subject: [PATCH 4/6] Set wrangler cwd to .output --- .github/workflows/preview.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index ae294537..28e98f8d 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -47,9 +47,9 @@ jobs: with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} - command: versions upload .output --name blakesmods + command: versions upload --name blakesmods gitHubToken: ${{ secrets.GITHUB_TOKEN }} - workingDirectory: apps/web + workingDirectory: apps/web/.output - name: Comment Preview URL on PR uses: actions/github-script@v7 From 4a1df448aab9de14382972435b8bfbd256c0bcec Mon Sep 17 00:00:00 2001 From: BlakeBr0 Date: Tue, 1 Sep 2026 22:50:23 -0500 Subject: [PATCH 5/6] Update wrangler action --- .github/workflows/preview.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 28e98f8d..25141742 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -43,7 +43,7 @@ jobs: - name: Publish Preview Deployment id: wrangler_deploy - uses: cloudflare/wrangler-action@v3 + uses: cloudflare/wrangler-action@v4 with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} From 681288d263ee93fed3b2c633cac245c73e5cf210 Mon Sep 17 00:00:00 2001 From: BlakeBr0 Date: Tue, 1 Sep 2026 22:54:56 -0500 Subject: [PATCH 6/6] Remove preview test text --- apps/web/app/app.vue | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/web/app/app.vue b/apps/web/app/app.vue index df4a06b2..881be9fc 100644 --- a/apps/web/app/app.vue +++ b/apps/web/app/app.vue @@ -5,7 +5,6 @@ color="repeating-linear-gradient(to right, var(--color-secondary) 0%, var(--color-primary) 50%, var(--color-secondary) 100%)" /> - PREVIEW TEST