Drop the mutable demo tag, deploy with explicit image ref
The demo tag existed to give Fly.io a stable tag to pull. Now that
the build job only runs on main, we can pass the exact dated image
ref to flyctl deploy --image instead, eliminating the mutable tag.

https://claude.ai/code/session_01FVsSU48JEru2VWWeLAN7Tn
change
commit fcb1614258d899c6d437a27e0ac5764dd3874c1d
author Claude <noreply@anthropic.com>
date
parent 4efc5c44
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 8805608..7cf7bc2 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -28,6 +28,7 @@ jobs:
     runs-on: ubuntu-latest
     outputs:
       version: ${{ steps.meta.outputs.version }}
+      image: ghcr.io/${{ github.repository }}:${{ steps.meta.outputs.version }}
     steps:
       - uses: actions/checkout@v6
       - uses: ruby/setup-ruby@v1
@@ -49,7 +50,6 @@ jobs:
           images: ghcr.io/${{ github.repository }}
           tags: |
             type=raw,value={{date 'YYYYMMDD'}}-${{ steps.short-sha.outputs.sha }}
-            type=raw,value=demo
       - uses: docker/build-push-action@v6
         with:
           context: .
@@ -95,7 +95,7 @@ jobs:
     steps:
       - uses: actions/checkout@v6
       - uses: superfly/flyctl-actions/setup-flyctl@master
-      - run: flyctl deploy
+      - run: flyctl deploy --image ${{ needs.build.outputs.image }}
         env:
           FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
 
diff --git a/fly.toml b/fly.toml
index 9137f2f..4ddb20d 100644
--- a/fly.toml
+++ b/fly.toml
@@ -6,9 +6,6 @@
 app = 'ketchup-t1zvtw'
 primary_region = 'sjc'
 
-[build]
-  image = 'ghcr.io/kejadlen/ketchup:demo'
-
 [http_service]
   internal_port = 9292
   force_https = true