hey! we have an app built via a docker image and the release command is to run django migrations on the db. yesterday this was running fine but today it looks like this isn’t executing at all regardless of whether there are new migrations or not? I’m being told it deploys successfully but no updates are there
also worth noting in github actions we have that the version is v68, but in the fly dashboard we’re on v308
Furthermore it looks like the deployments are happening to our production app rather than our dev app. we’re using the same command as before but now it’s ending up in a different fly app. Very confused and any help is appreciated!
Locally running the same deploy command using flyctl version v0.0.393 worked, the github action is using flyctl v0.0.423 from superfly/flyctl-actions/setup-flyctl@master
Can you post your Github action contents? It’s possible this is related to a bug where specifying the app to deploy, when different from the app name in fly.toml, can deploy to the one in fly.toml.
Yep! You’re right that in the fly.toml we have the app="my-app"
Run flyctl deploy --remote-only -a my-app-health-dev
==> Verifying app config
--> Verified app config
==> Building image
Waiting for remote builder fly-builder-morning-rain-5339...
Remote builder fly-builder-morning-rain-5339 ready
==> Creating build context
--> Creating build context done
==> Building image with Docker
--> docker host: 20.10.12 linux x86_64
#1 [internal] load remote build context
Sending build context to Docker daemon 5.796MB
#1 DONE 5.1s
#1 [internal] load remote build context
#1 DONE 0.0s
#2 copy /context /
#2 DONE 0.1s
#4 [internal] load metadata for docker.io/library/python:3.10.2-slim
#4 ...
#3 [internal] load metadata for docker.io/library/node:lts-alpine
#3 DONE 0.4s
#4 [internal] load metadata for docker.io/library/python:3.10.2-slim
#4 DONE 0.4s
#19 [base 1/1] FROM docker.io/library/python:3.10.2-slim@sha256:6faf002f0bce2ce81bec4a2253edddf0326dad23fe4e95e90d7790eaee653da5
#19 DONE 0.0s
#20 [js-deps 1/4] FROM docker.io/library/node:lts-alpine@sha256:1f09c210a17508d34277971b19541a47a26dc5a641dedc03bd28cff095052996
#20 CACHED
#10 [python-deps 6/6] RUN poetry install --without dev --no-interaction
#10 CACHED
#5 [python-deps 1/6] RUN pip install urllib3 certifi
#5 CACHED
#9 [python-deps 5/6] COPY poetry.lock .
#9 CACHED
#11 [runtime 1/5] COPY --from=python-deps /.venv /.venv
#11 CACHED
#7 [python-deps 3/6] RUN pip install poetry==1.2.0
#7 CACHED
#8 [python-deps 4/6] COPY pyproject.toml .
#8 CACHED
#6 [python-deps 2/6] RUN pip install dulwich --global-option="--pure"
#6 CACHED
#12 [runtime 2/5] WORKDIR app
#12 CACHED
#14 [js-deps 2/4] COPY . .
#14 DONE 0.1s
#13 [runtime 3/5] COPY . .
#13 DONE 0.1s
#15 [js-deps 3/4] RUN npm install
#15 4.170
#15 4.170 added 109 packages, and audited 110 packages in 3s
#15 4.170
#15 4.170 20 packages are looking for funding
#15 4.170 run `npm fund` for details
#15 4.171
#15 4.171 found 0 vulnerabilities
#15 DONE 4.4s
#16 [js-deps 4/4] RUN npm run build
#16 0.740
#16 0.740 > aegis@0.0.0 build
#16 0.740 > tsc --noEmit && NODE_OPTIONS=--max_old_space_size=10240 vite build
#16 0.740
#16 4.981 vite v3.1.8 building for production...
#16 5.060 transforming...
#16 10.49 [vite:css] Replace text-decoration-skip: ink to text-decoration-skip-ink: auto, because spec had been changed
#16 10.49
#16 10.55 Use of eval is strongly discouraged, as it poses security risks and may cause issues with minification
#16 11.45 ✓ 124 modules transformed.
#16 11.66 rendering chunks...
#16 11.80 ../aegis/static/manifest.json 0.77 KiB
#16 11.81 ../aegis/static/assets/base.d49d4c12.js 0.00 KiB / gzip: 0.02 KiB
#16 11.81 ../aegis/static/assets/raw_tailwind.8f116162.js 0.00 KiB / gzip: 0.02 KiB
#16 11.81 ../aegis/static/assets/tailwind.461aa92b.css 41.52 KiB / gzip: 7.75 KiB
#16 11.81 ../aegis/static/assets/main.0d3d852b.css 15.77 KiB / gzip: 3.47 KiB
#16 11.81 ../aegis/static/assets/base.31bdd3e9.css 131.40 KiB / gzip: 21.36 KiB
#16 11.82 ../aegis/static/assets/main.6a557915.js 311.46 KiB / gzip: 94.73 KiB
#16 DONE 11.9s
#17 [runtime 4/5] COPY --from=js-deps /aegis/static ./aegis/static
#17 DONE 0.0s
#18 [runtime 5/5] RUN DJANGO_AWS_ACCESS_KEY_ID="" DJANGO_AWS_SECRET_ACCESS_KEY="" DJANGO_AWS_STORAGE_BUCKET_NAME="" DJANGO_AWS_S3_ENDPOINT_URL="" DJANGO_SECURE_SSL_REDIRECT=False DJANGO_SECURE_HSTS_SECONDS=0 DJANGO_SECRET_KEY="!!! CHANGE ME !!!" DJANGO_ALLOWED_HOSTS="*" APP_VERSION_RELEASE="build" ENVIRONMENT="build" SENTRY_DSN="" REDIS_URL="" REDIS_PASSWORD="" DATABASE_URL="" ALLOWED_HOSTS="*" SENTRY_DSN="" ACUITY_USER_KEY="" ACUITY_SECRET_KEY="" WELKIN_USER_KEY="" WELKIN_SECRET_KEY="" WELKIN_TENANT="" WELKIN_INSTANCE="" DEFAULT_USER_TIMEZONE="" CHAT_WEBHOOK_API_KEY="" CHAT_WEBHOOK_SECRET_KEY="" python ./manage.py collectstatic --noinput
#18 0.927 /.venv/lib/python3.10/site-packages/environ/environ.py:615: UserWarning: Engine not recognized from url: {'NAME': '', 'USER': '', 'PASSWORD': '', 'HOST': '', 'PORT': '', 'ENGINE': ''}
#18 0.927 warnings.warn("Engine not recognized from url: {}".format(config))
#18 1.823 WARNING 2022-10-27 19:31:51,820 apps 7 140505669248832 Filepond app init: Creating temporary file upload directory </app/filepond-temp-upload>
#18 1.824 INFO 2022-10-27 19:31:51,821 apps 7 140505669248832 App init: no django-storages backend configured, using default (local) storage backend if set, otherwise you need to manage file storage independently of this app.
#18 1.824 WARNING 2022-10-27 19:31:51,821 apps 7 140505669248832 Filepond app init: Creating file store directory </app/aegis/media>...
#18 20.42
#18 20.42 302 static files copied to '/app/aegis/static', 1282 post-processed.
#18 DONE 20.8s
#21 exporting to image
#21 exporting layers
#21 exporting layers 0.3s done
#21 writing image sha256:05f5672cd571e403e1f287388fe590e9b9e6ee6f9ae7716b59c47b460a7346e6 done
#21 naming to registry.fly.io/my-app:deployment-01GGDEV45DY2QSB8JNJBBV5AFD done
#21 DONE 0.3s
--> Building image done
==> Pushing image to fly
The push refers to repository [registry.fly.io/my-app]
e594b490bd09: Preparing
e39e50d77950: Preparing
3bdccfee499a: Preparing
db6541ca4ebc: Preparing
381543972799: Preparing
fa1e65040241: Preparing
9a14de8ff3c3: Preparing
78838a940fbb: Preparing
7fce09c1d950: Preparing
1401df2b50d5: Preparing
78838a940fbb: Waiting
7fce09c1d950: Waiting
fa1e65040241: Waiting
1401df2b50d5: Waiting
9a14de8ff3c3: Waiting
381543972799: Layer already exists
db6541ca4ebc: Layer already exists
9a14de8ff3c3: Layer already exists
fa1e65040241: Layer already exists
78838a940fbb: Layer already exists
7fce09c1d950: Layer already exists
1401df2b50d5: Layer already exists
e39e50d77950: Pushed
3bdccfee499a: Pushed
e594b490bd09: Pushed
deployment-01GGDEV45DY2QSB8JNJBBV5AFD: digest: sha256:530203a643ffe1814a05e44a2d4a81672946f5f4c3350c7991c17229f1904e7a size: 2422
--> Pushing image done
image: registry.fly.io/my-app:deployment-01GGDEV45DY2QSB8JNJBBV5AFD
image size: 537 MB
==> Creating release
--> release v75 created
--> You can detach the terminal anytime without stopping the deployment
==> Release command detected: python /app/manage.py migrate
--> This release will not be available until the release command succeeds.
==> Monitoring deployment
v75 is being deployed
8b98f8e9: ewr pending
7b2b56ac: nrt pending
8b98f8e9: ewr running healthy
8b98f8e9: ewr running unhealthy [health checks: 1 total]
8b98f8e9: ewr running healthy [health checks: 1 total, 1 passing]
7b2b56ac: nrt running healthy
--> v75 deployed successfully
Is this something new? looks like v0.0.420 handled this differently than v0.0.423 now is
Yep, there’s a fix going out right now.
great, thank you!!
v0.0.424 should be released shortly with this fix included.
thanks!