Type error for argument vcs_type

I am trying to write my first ORB using gitlab as my VCS but the pipeline fails with the following message:

Error calling workflow: 'lint-pack'
Error calling job: 'orb-tools/continue'
Type error for argument vcs_type: expected type: enum ("gh" "github" "bb" "bitbucket"), actual value: "circleci" (type string)

The vcs_type is declared as shown below:

vcs_type: << pipeline.project.type >>

Any pointers what I am doing wrong?

If you’re only using gitlab, does it work to set it explicitly to gitlab? Can you include a little more of the context of what you’re using it for or why you need it to be set in the orb?

Apparently if you are using Gitlab, the type is defined as circleci. But looks like the ORB doesn’t have that in the enum list. I also read that if Gitlab is the SCM then it uses Github App for authentication. I am not sure what that means.

The fix was to hard code the type to “Github”

1 Like

For those encountering the error:

Error calling workflow: ‘lint-pack’

Error calling job: ‘orb-tools/continue’

Type error for argument vcs_type: expected type: enum (“gh” “github” “bb” “bitbucket”), actual value: “circleci”

This occurs because you’re using a CircleCI-native organization (which returns vcs_type: “circleci”), but the orb-tools orb currently only supports traditional VCS types (“gh”, “github”, “bb”, “bitbucket”).

Quick Fix:

In your .circleci/config.yml, hardcode the vcs_type to “github”:

  • orb-tools/continue:

pipeline_number: << pipeline.number >>

vcs_type: github # Hardcode this instead of using << pipeline.project.type >>

Why this works:

  • Even though you’re using GitLab or CircleCI-native organization

  • The orb publishing process still uses GitHub App for authentication

  • Therefore, hardcoding vcs_type: github works as a temporary solution

This applies to both GitLab users and CircleCI-native organization users until the orb-tools orb is updated to support additional VCS types.

PS: You can see your VCS types here: https://circleci.com/api/v2/me/collaborations

Threw up feat(jobs): support `circleci` VCS type by wyardley · Pull Request #248 · CircleCI-Public/orb-tools-orb · GitHub to add it as a valid type, though it wasn’t super clear from the API docs what all the valid values are.