- Notifications
You must be signed in to change notification settings - Fork925
Description
Is there an existing issue for this?
- I have searched the existing issues
Current Behavior
cli versionCoder v2.20.0+03b5012 Tue Mar 4 19:21:19 UTC 2025
(I tried a new cli as well, same issue)
I'm working in a GitHub Actions Workflow environment.
I have an on-prem Coder Server install (Coder v2.20.0+03b5012 Tue Mar 4 19:21:19 UTC 2025)
I'm using coder cli and an access token provided vie GH secrets
I have a directory with a pre-existing and previously pushed template (shown from within GH Action WF)
ls -altrtotal 32drwxr-xr-x 3 alfreds alfreds 4096 Mar 20 09:47 ..-rw-r--r-- 1 alfreds alfreds 1479 Mar 20 11:46 README.md-rw-r--r-- 1 alfreds alfreds 7185 Mar 20 13:59 main.tfdrwx------ 2 alfreds alfreds 4096 Mar 20 16:38 .
when I issuecoder template push docker --ignore-lockfile -y
I get this error...
2025-03-20 23:55:55.856Z Terraform 1.10.52025-03-20 23:55:55.857Z Error: No configuration files2025-03-20 23:55:55.857Z Plan requires configuration to be present. Planning without a configuration would mark everything for destruction, which is normally not what is desired. If you would like to destroy everything, run plan with the -destroy option. Otherwise, create a Terraform configuration file (.tf file) and try again.=== ✔ Detecting persistent resources [161ms]==> ⧗ Cleaning UpEncountered an error running "coder templates push", see "coder templates push --help" for more information
I double-triple confirmed that the directory this was running in had themain.tf
file.
I got suspicious, so I ssh'd into the runner and manually replicated the command, (over ssh) and it succceeded!
So, I got took that knowledge and made a wild guess that there is a requirement that tty-like relationship is expected to the cli.
I changed the gh wf to installexpect
- name: Hack for Coder bug run: | sudo apt-get install expect -y echo "now unbuffer is available which can trick coder into thinking your are there watching."
and that allows me to addunbuffer
before the whole command.
- name: Push with Coder run: | coder whoami cd coder/coder-templates/ubuntu/docker unbuffer coder template push docker --ignore-lockfile -y
And that works.
[REDACTED]... You're authenticated as gh-runner !25l◰ Uploading directory...25h=== ✔ Queued [0ms]==> ⧗ Running==> ⧗ Running=== ✔ Running [9ms]==> ⧗ Setting up=== ✔ Setting up [0ms]==> ⧗ Parsing template parameters=== ✔ Parsing template parameters [14ms]==> ⧗ Detecting persistent resources2025-03-20 23:36:18.472Z Terraform 1.10.52025-03-20 23:36:19.347Z data.coder_workspace_owner.me: Refreshing...2025-03-20 23:36:19.347Z data.coder_provisioner.me: Refreshing...2025-03-20 23:36:19.347Z data.coder_workspace.me: Refreshing......=== ✔ Detecting ephemeral resources [2749ms]==> ⧗ Cleaning Up=== ✔ Cleaning Up [353ms]┌──────────────────────────────────┐│ Template Preview │├──────────────────────────────────┤│ RESOURCE │├──────────────────────────────────┤│ docker_container.workspace ││ └─ main (linux, amd64) │├──────────────────────────────────┤│ docker_image.stoke-ubuntu │├──────────────────────────────────┤│ docker_volume.home_volume │└──────────────────────────────────┘Updated version at Mar 20 23:36:23!
Relevant Log Output
Expected Behavior
I should not have to useunbuffer
or any other tty-like command in a headless environment to engage withtemplates push
Steps to Reproduce
- See my description, pretty clear what the steps are.
Environment
- Host OS: version in description
- Coder version: version in description
Additional Context
No response