Release Command Runs Indefinitely

Whenever I run a deployment on Github actions, the release command will run indefinitely. I end up having to cancel the build. Here’s the logs from the build (which I canceled after 30 mins):

--> You can detach the terminal anytime without stopping the deployment
==> Release command detected: npx prisma migrate deploy
--> This release will not be available until the release command succeeds
Error: The operation was canceled.

Here are the relevant details from the the fly.toml file:

app = "unify-staging"
kill_signal = "SIGINT"
kill_timeout = 5
processes = [ ]

[env]
PORT = "8080"
NODE_ENV = "production"

[deploy]
release_command = "npx prisma migrate deploy"

[experimental]
allowed_public_ports = [ ]
auto_rollback = true

[[services]]
internal_port = 8_080
processes = [ "app" ]
protocol = "tcp"
script_checks = [ ]

  [[services.ports]]
  handlers = [ "http" ]
  port = 80
  force_https = true

  [[services.ports]]
  handlers = [ "tls", "http" ]
  port = 443

And here’s the Github action step detail:

- name: Deploy Staging
  if: ${{ github.ref == 'refs/heads/dev' }}
  uses: superfly/flyctl-actions@1.3
  with:
    args: "deploy --app ${{ env.APP_NAME }}-staging --image registry.fly.io/${{ env.APP_NAME }}:${{ github.sha }}"
  env:
    FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}

Hi @petebrowne, it looks like flyctl lost track of the deploy it was tracking. Sometimes flyctl has issues monitoring releases from Github actions.

But the release command should still have finished and went through, can you try running flyctl status and pasting the output?

I’ve learned the release command is essentially run using docker run image [release_command], which didn’t work with my Dockerfile since the entrypoint was node. I’ve updated my release command to be bash -c "node_modules/.bin/prisma migrate deploy and it seems to be working now.

2 Likes