Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
b9ead52
SERVERLESS
cbackas Feb 23, 2026
9fac026
update wrangler config
cbackas Feb 23, 2026
8c30ae8
add command descriptions
cbackas Feb 23, 2026
c170bfd
fix interaction usage and slash command options
cbackas Feb 24, 2026
9bdbf03
all the serverless stuff
cbackas May 11, 2026
7acf09e
fix progress messages
cbackas May 11, 2026
f5fe282
Potential fix for pull request finding 'CodeQL / Shell command built …
cbackas May 11, 2026
4840203
previews
cbackas May 11, 2026
68c366a
fix linting/typechecking
cbackas May 11, 2026
05e523a
biome format
cbackas May 11, 2026
5ead963
fix biome warnings
cbackas May 11, 2026
65b371a
biome format
cbackas May 11, 2026
114a45c
fix regressions
cbackas May 11, 2026
3cd2fda
fix more regressions
cbackas May 11, 2026
e705d04
fixed more regressions
cbackas May 12, 2026
aa89c45
add all the scheduled jobs as cron jobs
cbackas May 12, 2026
7532b84
dont wipe out episodes with every sync
cbackas May 12, 2026
e0074d7
add top level name in wrangler
cbackas May 12, 2026
5dbd862
improve observability
cbackas May 12, 2026
e336fcd
move to queues so logs work again
cbackas May 12, 2026
20a0779
update progress messages and fix up tvdb logging
cbackas May 12, 2026
fe43fed
speed up command response time
cbackas May 12, 2026
caa17fb
back to tvbot
cbackas May 12, 2026
ab96594
adjust episode notifier scheduling
cbackas May 12, 2026
fea5553
fix up link.command.ts
cbackas May 12, 2026
ce8e839
uncommit the mango migration stuff
cbackas Jul 26, 2026
b3d356d
fix cron schedule for dev
cbackas Jul 26, 2026
971be14
trigger command
cbackas Jul 26, 2026
cfdbafa
remove claude settings ew
cbackas Jul 26, 2026
cb69060
chunked shit cuz d1
cbackas Jul 29, 2026
ae09ae0
simplify the batching
cbackas Jul 29, 2026
8c3fddf
update timings
cbackas Jul 29, 2026
57f2286
improve logging for morning summaries
cbackas Jul 29, 2026
4436b54
fix progress messages
cbackas Jul 29, 2026
a91599a
live progress for refresh trigger
cbackas Jul 29, 2026
3bdac83
make migrations work
cbackas Jul 29, 2026
3e3ddd6
add guild_ids to everything so we can support multiple guilds (cuz why
cbackas Jul 29, 2026
969a01e
structured json logging for command lifecycle
cbackas Jul 29, 2026
27eda6a
include interaction id in command lifecycle logs for correlation
cbackas Jul 29, 2026
cd69276
log the command invocation input, resolving choice labels
cbackas Jul 29, 2026
4b23af8
add command execution timing to queue logs
cbackas Jul 29, 2026
f94300e
add wrangler log script things
cbackas Jul 29, 2026
df9fb98
log users as id (username) consistently
cbackas Jul 29, 2026
4f4f69e
async-context structured logger via console override
cbackas Jul 29, 2026
3c9b4b9
pin command context instead of threading fields per-log
cbackas Jul 29, 2026
7b5d598
settings view: bold headers, title, and server name
cbackas Jul 30, 2026
d2f991e
verify signature via crypto.subtle directly, cache imported key
cbackas Jul 30, 2026
93654b5
keep verifyKey from discord-interactions, just cache the imported key
cbackas Jul 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Deploy

on:
workflow_dispatch:
push:
tags:
- '*.*.*'

jobs:
deploy-dev:
name: Deploy dev
runs-on: ubuntu-latest
environment: tvbot-dev
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 20
cache: npm
- run: npm ci
- uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
wranglerVersion: "4"
command: deploy --env dev

deploy-prod:
name: Deploy prod
needs: deploy-dev
runs-on: ubuntu-latest
environment: tvbot-prod
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 20
cache: npm
- run: npm ci
- uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
wranglerVersion: "4"
command: deploy --env prod
18 changes: 0 additions & 18 deletions .github/workflows/fly-deploy.yml

This file was deleted.

49 changes: 20 additions & 29 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: Pull Request

on:
pull_request:
branches:
Expand All @@ -7,6 +8,7 @@ on:
- opened
- edited
- synchronize

jobs:
pr-title:
runs-on: ubuntu-latest
Expand All @@ -19,48 +21,37 @@ jobs:
with:
allowed_prefixes: 'Breaking:,Fix:,Update:,New:,Build:,Upgrade:,Chore:,NoBuild:'
prefix_case_sensitive: true

lint:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- uses: denoland/setup-deno@v2
- run: deno lint
- name: Checkout
uses: actions/checkout@v6
with:
persist-credentials: false
- name: Setup Biome
uses: biomejs/setup-biome@v2
with:
version: latest
- name: Run Biome
run: biome ci .

typecheck:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- uses: denoland/setup-deno@v2
- run: deno install --allow-scripts=npm:prisma,npm:@prisma/engines,npm:@prisma/client
- run: deno task typecheck
- uses: actions/checkout@v6
with:
persist-credentials: false
- run: npm ci
- run: npx tsc --noEmit

test-semantic-release:
uses: ./.github/workflows/semantic-release.yml
permissions:
contents: read
with:
dry_run: true
build_docker:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v4
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.github_token }}
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-buildx-action@v3
- name: build and push
uses: docker/build-push-action@v6
with:
tags: ghcr.io/cbackas/tvbot:pr-${{github.event.pull_request.number}}
platforms: linux/amd64,linux/arm64
cache-from: type=gha
cache-to: type=gha,mode=max
push: true
47 changes: 47 additions & 0 deletions .github/workflows/preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: PR Preview

on:
pull_request:
branches:
- master
types: [opened, synchronize, reopened]

permissions:
contents: read
pull-requests: write

jobs:
preview:
name: Deploy preview
runs-on: ubuntu-latest
environment: tvbot-dev
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 20
cache: npm
- run: npm ci
- id: deploy
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
wranglerVersion: "4"
command: versions upload --env dev --message "PR #${{ github.event.pull_request.number }}" --tag "pr-${{ github.event.pull_request.number }}"
- name: Extract preview URL
id: url
run: |
URL=$(echo "${{ steps.deploy.outputs.command-output }}" | grep -oE 'https://[a-z0-9-]+-tvbot-dev\.[a-z0-9.-]+\.workers\.dev' | head -n1)
if [ -z "$URL" ]; then
echo "Failed to extract preview URL from wrangler output" >&2
exit 1
fi
echo "url=$URL" >> "$GITHUB_OUTPUT"
- uses: marocchino/sticky-pull-request-comment@v2
with:
header: preview
message: |
**Preview**: ${{ steps.url.outputs.url }}

Uploaded as `pr-${{ github.event.pull_request.number }}`. Shares the dev D1 — not traffic-routed. Re-uploads on every push.
42 changes: 0 additions & 42 deletions .github/workflows/tags.yml

This file was deleted.

Loading
Loading