Job reports success when “deploy did not complete”
AndrewKvalheim opened this issue · 1 comments
AndrewKvalheim commented
Description of problem
A job incorrectly reported success when the deploy failed.
Steps to Reproduce
-
Set Dokku’s global deploy branch to
main
and deploy an app. -
Using this GitHub Action, push to
master
. The deploy correctly fails with:Pushing to Dokku Host remote: -----> WARNING: deploy did not complete, you must push to main. remote: -----> for example, try 'git push <dokku> master:main'
Actual Results
The GitHub Actions job succeeded.
Expected Results
The GitHub Actions job should fail.
Environment Information
dokku report APP_NAME
output
Output
-----> uname: Linux dokku 5.15.0-1030-aws #34~20.04.1-Ubuntu SMP Tue Jan 24 15:16:46 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
-----> memory:
total used free shared buff/cache available
Mem: 1937 1422 83 2 431 333
Swap: 0 0 0
-----> docker version:
Client: Docker Engine - Community
Version: 20.10.18
API version: 1.41
Go version: go1.18.6
Git commit: b40c2f6
Built: Thu Sep 8 23:11:45 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.18
API version: 1.41 (minimum version 1.12)
Go version: go1.18.6
Git commit: e42327a
Built: Thu Sep 8 23:09:37 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.8
GitCommit: 9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
-----> docker daemon info:
Client:
Context: default
Debug Mode: true
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Docker Buildx (Docker Inc., v0.9.1-docker)
scan: Docker Scan (Docker Inc., v0.17.0)
Server:
Containers: 6
Running: 6
Paused: 0
Stopped: 0
Images: 91
Server Version: 20.10.18
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
runc version: v1.1.4-0-g5fd4c4d
init version: de40ad0
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 5.15.0-1030-aws
Operating System: Ubuntu 20.04.5 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.892GiB
Name: ip-172-31-52-88
ID: ICVN:6QJJ:IIOA:GEZE:7QTM:4BOL:5LNC:I2GV:N5KC:ZSJD:GO6X:FKXS
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
-----> git version: git version 2.25.1
-----> sigil version: 0.9.0build+bc921b7
-----> herokuish version:
herokuish: 0.5.37
buildpacks:
heroku-buildpack-multi v1.2.0
heroku-buildpack-ruby v244
heroku-buildpack-nodejs v198
heroku-buildpack-clojure v90
heroku-buildpack-python v214
heroku-buildpack-java v72
heroku-buildpack-gradle v38
heroku-buildpack-scala v94
heroku-buildpack-play v26
heroku-buildpack-php v223
heroku-buildpack-go v166
heroku-buildpack-nginx v16
buildpack-null v3
-----> dokku version: dokku version 0.28.1
-----> plugn version: plugn: 0.12.0build+3a27594
-----> dokku plugins:
00_dokku-standard 0.28.1 enabled dokku core standard plugin
20_events 0.28.1 enabled dokku core events logging plugin
app-json 0.28.1 enabled dokku core app-json plugin
apps 0.28.1 enabled dokku core apps plugin
builder 0.28.1 enabled dokku core builder plugin
builder-dockerfile 0.28.1 enabled dokku core builder-dockerfile plugin
builder-herokuish 0.28.1 enabled dokku core builder-herokuish plugin
builder-lambda 0.27.0 enabled dokku core builder-lambda plugin
builder-null 0.28.1 enabled dokku core builder-null plugin
builder-pack 0.28.1 enabled dokku core builder-pack plugin
buildpacks 0.28.1 enabled dokku core buildpacks plugin
caddy-vhosts 0.28.1 enabled dokku core caddy-vhosts plugin
certs 0.28.1 enabled dokku core certificate management plugin
checks 0.28.1 enabled dokku core checks plugin
common 0.28.1 enabled dokku core common plugin
config 0.28.1 enabled dokku core config plugin
cron 0.28.1 enabled dokku core cron plugin
docker-options 0.28.1 enabled dokku core docker-options plugin
domains 0.28.1 enabled dokku core domains plugin
enter 0.28.1 enabled dokku core enter plugin
git 0.28.1 enabled dokku core git plugin
letsencrypt 0.20.0 enabled Automated installation of let's encrypt TLS certificates
logs 0.28.1 enabled dokku core logs plugin
network 0.28.1 enabled dokku core network plugin
nginx-vhosts 0.28.1 enabled dokku core nginx-vhosts plugin
plugin 0.28.1 enabled dokku core plugin plugin
proxy 0.28.1 enabled dokku core proxy plugin
ps 0.28.1 enabled dokku core ps plugin
registry 0.28.1 enabled dokku core registry plugin
repo 0.28.1 enabled dokku core repo plugin
resource 0.28.1 enabled dokku core resource plugin
run 0.28.1 enabled dokku core run plugin
scheduler 0.28.1 enabled dokku core scheduler plugin
scheduler-docker-local 0.28.1 enabled dokku core scheduler-docker-local plugin
scheduler-null 0.28.1 enabled dokku core scheduler-null plugin
shell 0.28.1 enabled dokku core shell plugin
ssh-keys 0.28.1 enabled dokku core ssh-keys plugin
storage 0.28.1 enabled dokku core storage plugin
trace 0.28.1 enabled dokku core trace plugin
traefik-vhosts 0.28.1 enabled dokku core traefik-vhosts plugin
=====> patch app-json information
App json computed selected: app.json
App json global selected: app.json
App json selected:
=====> patch app information
App created at: 1678470273
App deploy source: patch
App deploy source metadata: patch
App dir: /home/dokku/patch
App locked: false
=====> patch builder information
Builder build dir:
Builder computed build dir:
Builder computed selected:
Builder global build dir:
Builder global selected:
Builder selected:
=====> patch builder-dockerfile information
Builder dockerfile computed dockerfile path: Dockerfile
Builder dockerfile global dockerfile path: Dockerfile
Builder dockerfile dockerfile path:
=====> patch builder-lambda information
Builder lambda computed lambdayml path: lambda.yml
Builder lambda global lambdayml path: lambda.yml
Builder lambda lambdayml path:
=====> patch builder-pack information
Builder pack computed projecttoml path: project.toml
Builder pack global projecttoml path: project.toml
Builder pack projecttoml path:
=====> patch buildpacks information
Buildpacks computed stack: gliderlabs/herokuish:latest-20
Buildpacks global stack:
Buildpacks list:
Buildpacks stack:
=====> patch ssl information
Ssl dir: /home/dokku/patch/tls
Ssl enabled: false
Ssl hostnames:
Ssl expires at:
Ssl issuer:
Ssl starts at:
Ssl subject:
Ssl verified:
=====> patch checks information
Checks disabled list: _all_
Checks skipped list: none
=====> patch cron information
Cron task count: 0
=====> patch docker options information
Docker options build:
Docker options deploy: --restart=on-failure:10 -v /var/lib/dokku/data/storage/state:/usr/src/app/state
Docker options run: -v /var/lib/dokku/data/storage/state:/usr/src/app/state
=====> patch domains information
Domains app enabled: true
Domains app vhosts: patch.dokku.seagl.org
Domains global enabled: true
Domains global vhosts: dokku.seagl.org
=====> patch git information
Git deploy branch: main
Git global deploy branch: main
Git keep git dir: false
Git rev env var: GIT_REV
Git sha: 95b1836
Git last updated at:
=====> patch letsencrypt information
Letsencrypt active: false
Letsencrypt autorenew: true
Letsencrypt computed dns provider:
Letsencrypt global dns provider:
Letsencrypt dns provider:
Letsencrypt computed email: REDACTED
Letsencrypt global email: REDACTED
Letsencrypt email:
Letsencrypt expiration: 1678406400
Letsencrypt computed graceperiod: 2592000
Letsencrypt global graceperiod:
Letsencrypt graceperiod:
Letsencrypt computed lego docker args:
Letsencrypt global lego docker args:
Letsencrypt lego docker args:
Letsencrypt computed server: https://acme-v02.api.letsencrypt.org/directory
Letsencrypt global server:
Letsencrypt server:
=====> patch logs information
Logs computed max size: 10m
Logs global max size: 10m
Logs global vector sink:
Logs max size:
Logs vector sink:
=====> patch network information
Network attach post create:
Network attach post deploy:
Network bind all interfaces: false
Network computed attach post create:
Network computed attach post deploy:
Network computed bind all interfaces: false
Network computed initial network:
Network computed tld:
Network global attach post create:
Network global attach post deploy:
Network global bind all interfaces: false
Network global initial network:
Network global tld:
Network initial network:
Network static web listener:
Network tld:
Network web listeners: 172.17.0.3:5000
=====> patch nginx information
Nginx access log format:
Nginx access log path: /var/log/nginx/patch-access.log
Nginx bind address ipv4:
Nginx bind address ipv6: ::
Nginx client max body size:
Nginx disable custom config: false
Nginx error log path: /var/log/nginx/patch-error.log
Nginx global hsts: true
Nginx computed hsts: true
Nginx hsts:
Nginx hsts include subdomains: true
Nginx hsts max age: 15724800
Nginx hsts preload: false
Nginx proxy buffer size: 4096
Nginx proxy buffering: on
Nginx proxy buffers: 8 4096
Nginx proxy busy buffers size: 8192
Nginx proxy read timeout: 60s
Nginx last visited at: 1667530628
Nginx x forwarded for value: $remote_addr
Nginx x forwarded port value: $server_port
Nginx x forwarded proto value: $scheme
Nginx x forwarded ssl:
=====> patch proxy information
Proxy enabled: true
Proxy port map: http:80:5000
Proxy type: nginx
=====> patch ps information
Deployed: true
Processes: 1
Ps can scale: true
Ps computed procfile path: Procfile
Ps global procfile path: Procfile
Ps procfile path:
Ps restart policy: on-failure:10
Restore: true
Running: true
Status web 1: running (CID: 15c68ff73f1)
=====> patch registry information
Registry computed image repo: dokku/patch
Registry computed push on release: false
Registry computed server:
Registry global push on release:
Registry global server:
Registry image repo:
Registry push on release:
Registry server:
Registry tag version:
=====> patch resource information
=====> patch scheduler information
Scheduler computed selected: docker-local
Scheduler global selected: docker-local
Scheduler selected:
=====> patch scheduler-docker-local information
Scheduler docker local disable chown:
Scheduler docker local init process: true
Scheduler docker local parallel schedule count:
=====> patch storage information
Storage build mounts:
Storage deploy mounts: -v /var/lib/dokku/data/storage/state:/usr/src/app/state
Storage run mounts: -v /var/lib/dokku/data/storage/state:/usr/src/app/state
How and where was Dokku installed?
dokku/ansible-dokku on AWS EC2.
Additional information
App container inspect output (if applicable) viadokku ps:inspect APP_NAME
The nginx configuration (if applicable) viadokku nginx:show-config APP_NAME
- Link to the exact repository being deployed: SeaGL/patch
Output of failing Dokku commands after runningdokku trace:on
josegonzalez commented
I think technically dokku will count this as a successful "push", though the app will not build because you've set the deploy branch to something else. This is "correct" behavior, though maybe unexpected by the user.