I have an app that auto deploys via github actions. It first pulls the previously-built image locally and then uses that image to deploy to fly. This was working as of yesterday (0.3.4) but is failing today (0.3.5).
deploy:
name: deploy
runs-on: ubuntu-latest
needs:
- build
- wait_for_tests
permissions:
contents: read
packages: read
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Log in to GitHub Packages
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Pull image
run: docker pull ghcr.io/${{ github.repository }}:${{ github.ref_name }}
- name: Setup flyctl
uses: superfly/flyctl-actions/setup-flyctl@master
- name: Deploy to Fly
run: flyctl deploy --image=ghcr.io/${{ github.repository }}:${{ github.ref_name }}
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
Yesterday I was able to deploy properly (with flyctl 0.3.4):
Run superfly/flyctl-actions/setup-flyctl@master
Acquired 0.3.4 from https://github.com/superfly/flyctl/releases/download/v0.3.4/flyctl_0.3.4_Linux_x86_64.tar.gz
/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/6032ebe7-793b-4d37-bb5b-63b94eff0253 -f /home/runner/work/_temp/59363c13-23a3-4774-a2e1-e0c897c8f4ed
Successfully cached flyctl to /opt/hostedtoolcache/flyctl/0.3.4/x86_64
Added flyctl to the path
Run flyctl deploy --image=ghcr.io/owner/repo:v0.22.96
==> Verifying app config
--> Verified app config
Validating /home/runner/work/api/api/fly.toml
✓ Configuration is valid
==> Building image
Searching for image 'ghcr.io/owner/repo:v0.22.96' locally...
image found: sha256:digest
==> Pushing image to fly
The push refers to repository [registry.fly.io/app]
81fa8d080a73: Preparing
0523efc50136: Preparing
69fcb48b66de: Preparing
62a49c2ce6ce: Preparing
78561cef0761: Preparing
78561cef0761: Layer already exists
69fcb48b66de: Pushed
81fa8d080a73: Pushed
62a49c2ce6ce: Pushed
0523efc50136: Pushed
deployment-01J7YV8GERFPH6A3GW6E079D55: digest: sha256:digest size: 1364
--> Pushing image done
Watch your deployment at https://fly.io/apps/app/monitoring
Running app release_command: /app/bin/migrate
Updating existing machines in 'app' with canary strategy
Checking DNS configuration for app.fly.dev
Visit your newly deployed app at https://app.fly.dev/
Today, it fails to deploy:
Run superfly/flyctl-actions/setup-flyctl@master
Acquired 0.3.5 from https://github.com/superfly/flyctl/releases/download/v0.3.5/flyctl_0.3.5_Linux_x86_64.tar.gz
/usr/bin/tar xz --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/70a01b8d-21e6-4f14-b8bd-149d3f27588e -f /home/runner/work/_temp/ce3848ee-3bc0-46a6-892f-52ae53f29ff2
Successfully cached flyctl to /opt/hostedtoolcache/flyctl/0.3.5/x86_64
Added flyctl to the path
Run flyctl deploy --image=ghcr.io/owner/repo:v0.23.0
==> Verifying app config
--> Verified app config
Validating /home/runner/work/api/api/fly.toml
✓ Configuration is valid
==> Building image
Searching for image 'ghcr.io/owner/repo:v0.23.0' remotely...
==> Building image
Searching for image 'ghcr.io/owner/repo:v0.23.0' remotely...
Error: failed to fetch an image or build from source: Authentication required to access image "ghcr.io/owner/repo:v0.23.0"
Error: Process completed with exit code 1.
Can you provide some help? Thanks