WARNING: terminal is not fully functional - cimg/python:3.8-node

I am attempting to upgrade the aws-cli Orb from 0.0.13 to 1.0.0, and also using a newer image cimg/python:3.8-node (instead of node:12) to skip installing pip but also get LTS of nodejs baked in. The job seems to be running fine until I get to a simple yarn command that hangs, and at the top of the output of that step is

WARNING: terminal is not fully functional

The yarn command is a simple aws cloudformation validate-template ... and I am able to SSH and run everything just fine. This also runs fine in another job even though the warning and partial text of "RESS RETURN} also shows up, which seems to be looking for interactivity for some reason.

My next attempt is to find an even newer container to see if this is just an old bug in this version.

UPDATE: I have also reproduced this with python:3.7-node, and also reproduced it with a bunch of other yarn commands that worked flawlessly in the same job, which rules out it being caused by needing to reattach to the workspace across jobs. So it’s something odd with the yarn validate command, which simply acts as an alias to aws cloudformation validate-template.

UPDATE 2: seems to be a failure of the aws-cli 2.0 Orb aws-cli@1.0.0. When I run aws cloudformation validate-template --template-body file://template.yaml locally (macOS 10.15), it works fine but I see a strange

[Errno 2] No such file or directory: 'less': 'less'

error on CircleCI using cimg/python:3.8-node, even when SSHing in.

I’m having a similar issue when running aws lambda update-function-code --function-name ********* --zip-file fileb://build/index.zip --color off --no-paginate

The only difference being that I’m able to successfully run the command when SSHing in.

This is likely due to the aws cli depending on less to be installed, by default: https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration.html#cliv2-migration-output-pager

Could you try disabling paging by setting the environment variable AWS_PAGER to “” ?

e.g.

environment:
  AWS_PAGER: ""
2 Likes

Thank you, will give this a shot!