Trying CircleCLI "getting started", and "circlecli config validate" fails

I installed CircleCLI on a Mac running Catalina, using Homebrew: brew install circlecli

Now I’m trying to follow the “getting started” instructions from https://circleci.com/docs/2.0/local-cli-getting-started/. I already have a github enterprise repo for trying things in CircleCLI, and I know commits from it do build, but I haven’t done anything interesting with it yet other then testing out a config.yml with some jobs that “exit 1” or “echo foo” just to see them run. But for this getting started, I changed my .circlecli/config.yml to be exactly the sample shown on that web page, and committed it to my repo and pushed to github.

The very next step is to run circlecli config validate, but that gives me this error:

Error: Unable to validate config: Variable 'pipelineValues' definition references unknown type 'StringKeyVal'.

I also tried explicitly naming the config.yml, circleci config validate .circleci/config.yml, but got the same error.

I checked our local circleci and I can see that my commit of the new config.yml did build, and I can see its “Hello World” in the logs, so clearly this config is valid. It’s just something wrong with the CLI. But I haven’t defined any variables called pipelineValues that I know of, and I’m trying with a fresh install.

Has anyone seen this error, or know what it means, or what I should do?

Welcome to CircleCI Discuss!

All projects should be building with pipelines now and with pipelines comes specific values and parameters you can set: https://circleci.com/docs/2.0/pipeline-variables/#pipeline-values

Can you check your CircleCLI version with the following circleci version and also copy/paste out exactly the contents of your config and add them as a reply here? In addition, if the project is public can you link to the build that passed?

Thanks for any additional details you can pass along as that will help me pinpoint the issue.

Before I saw your message, I found this commit that I think may be the cause of the breakage:

I think based on your message, that something backward-incompatible happened, that I need to define something related to pipelines in my config.yml (but since I’m very new to circleci I have no idea what that is yet), and that therefore, the instructions at
https://circleci.com/docs/2.0/local-cli-getting-started/
are WRONG. It supplies a config.yml that is guaranteed to cause this error.

Is that correct?

I tried this in other repos that I know build correctly, and I get the same error.
So unless this is a mandatory new change to all config.yml files, I think the CLI tool is broken.

Okay, I can confirm that error starts showing up with that commit.

If I install the previous version,

% VERSION=0.1.7179
% curl -fLSs https://circle.ci/cli  | bash

I instead get this:

% circleci config validate
Error: Unexpected exception processing config
Please contact support

As soon as I go up to v0.1.7251 then I start getting the error about pipelineValues again. Whenever I install 0.1.7179 or earlier, I get “Unexpected exception processing config” instead. I tried going back to versions from last fall and still get that error.

So that commit did introduce the error I’m getting, but either way, I cannot get this CLI working yet :frowning:

The project is not public, this is a private instance of CircleCI on a corporate domain.
As for version, as you can see above, I’ve been trying several versions, though initially I just had the latest one, which I installed today.

Here’s my config, with sensitive info removed:

% cat .circleci/cli.yml
host: https://circleci.OURDOMAIN/
endpoint: graphql-unstable
token: MYTOKEN

This is the config I got from running circleci setup and answering the prompts.

After seeing this issue - https://github.com/CircleCI-Public/circleci-cli/issues/353 - I tried setting my local config to point to https://circleci.com instead of to our local circleci domain. With that change, configs validate! So there’s some incompatibility between the tool, and our circleci instance.

Any idea what it might be, so I know what to tell our IT people who maintain it?

Thanks for the followup and additional information! Now that I know this is related to a local server install this would be best taken care of within a support request so we can collect more of the sensitive information we need to determine the issue.

Can you submit a support ticket with a link to this post? If you can also include what you had your config set to (with the actual domain you had it set to) that would be great. Thank you!

Hello,

Thank you for writing in. The server version of Circle CI only supports our legacy CLI version. You can find more information on how to install that here: https://circleci.com/docs/2.0/local-cli/#using-the-cli-on-circleci-server

Please let me know if you have additional questions.

Thank you! I got that answer on our support ticket today as well. It’s good to know this was never even supposed to work. It would be very helpful if you updated the documentation I linked to at the beginning of this thread, because it made no mention of this.

Thank you for the feedback! I’ve written a PR to the public-facing docs to clarify that only the legacy CLI is available on server: https://github.com/circleci/circleci-docs/pull/4393

1 Like