Better error message when up.json is missing
Prerequisites
- [x] I am running the latest version. (
up upgrade) - [x] I searched to see if the issue already exists.
- [x] I inspected the verbose debug output with the
-v, --verboseflag. - [ ] Are you an Up Pro subscriber?
Description
I came across an error message which could possibly be improved, while I was trying to trying to set up CI on my project. My project is a mono repo, and the up project is in a subdirectory. I was being daft, and running up in the root directory, instead of the subdirectory with up.json. It took me quite a while to find out what the problem was, because of the error message.
Steps to Reproduce
docker run -ti node:6.10 /bin/bash
# inside the docker container
curl -f https://up.apex.sh/install | sh
mkdir ./empty-dir
cd ./empty-dir
up
# error message:
Error: Cannot find credentials, visit https://up.docs.apex.sh/#aws_credentials for help.
# expected something like
No up.json found ...
Note, if I run up [0.4.10] on my OS X 10.12.6, I get the expected:
No up.json found, create a new project? (Y/n)
ahhh the CI must have fooled the isatty check https://github.com/apex/up/blob/master/internal/cli/deploy/deploy.go#L35
wonder if that's really a good thing on their part, if there's no interactive stdin
ahhh the CI must have fooled the isatty check
Although it looks like it happens in interactive shells too. My repro example was in an interactive docker shell, and I just tried on a ubuntu VM and I got the same error message about credentials.
Right now it has a select input for the AWS profile, so it bails on helping create up.json if there's no creds. Ideally it'd help walk through adding a profile but I haven't added that part yet
This is minor, so I'm going to close this, as I'm sure there are more important things to work on.
Hi, I just hit this again today, in a Semaphore CI build, the up.json file was missing on this specific branch. I was confused and it took me a while to figure out what the problem was, so I'm reopening. Hope that's okay.