CI configs using some orbs (for example circleci/docker) stopped validating

Hello,

I’m dealing with this problem today. It first appeared at about 10:30 GMT+2, then appeared to be fixed at 11:10 GMT+2, and now appeared again.

A previously valid CI config using the circleci/docker orb stopped validating. The output is:

[#/jobs/publish] 0 subschemas matched instead of one
1. [#/jobs/publish] only 1 subschema matches out of 2
|   1. [#/jobs/publish/steps] 12 schema violations found
|   |   1. [#/jobs/publish/steps/1] 0 subschemas matched instead of one
|   |   |   1. [#/jobs/publish/steps/1] 0 subschemas matched instead of one
|   |   |   |   1. [#/jobs/publish/steps/1] expected type: String, found: Mapping
|   |   |   |   |   Shorthand commands, like `checkout`
|   |   |   |   |   SCHEMA:
|   |   |   |   |     type: string
|   |   |   |   |   INPUT:
|   |   |   |   |     when:
|   |   |   |   |       condition: <<parameters.after_checkout>>
|   |   |   |   |       name: Run after_checkout lifecycle hook steps
|   |   |   |   |       steps: <<parameters.after_checkout>>
|   |   |   |   2. [#/jobs/publish/steps/1/when] only 1 subschema matches out of 2
|   |   |   |   |   1. [#/jobs/publish/steps/1/when] subject must not be valid against schema {"pattern":"^when$"}
|   |   |   |   |   |   SCHEMA:
|   |   |   |   |   |     not:
|   |   |   |   |   |       pattern: ^when$
|   |   |   |   |   |   INPUT:
|   |   |   |   |   |     condition: <<parameters.after_checkout>>
|   |   |   |   |   |     name: Run after_checkout lifecycle hook steps
|   |   |   |   |   |     steps: <<parameters.after_checkout>>
|   |   |   2. [#/jobs/publish/steps/1/when] 2 schema violations found
|   |   |   |   1. [#/jobs/publish/steps/1/when] extraneous key [name] is not permitted
|   |   |   |   |   Permitted keys:
|   |   |   |   |     - condition
|   |   |   |   |     - steps
|   |   |   |   |   Passed keys:
|   |   |   |   |     - condition
|   |   |   |   |     - name
|   |   |   |   |     - steps
|   |   |   |   2. [#/jobs/publish/steps/1/when/steps] expected type: Sequence, found: String
|   |   |   |   |   SCHEMA:
|   |   |   |   |     type: array
|   |   |   |   |   INPUT:
|   |   |   |   |     <<parameters.after_checkout>>
|   |   2. [#/jobs/publish/steps/4] 0 subschemas matched instead of one
|   |   |   1. [#/jobs/publish/steps/4] 0 subschemas matched instead of one
|   |   |   |   1. [#/jobs/publish/steps/4] expected type: String, found: Mapping
|   |   |   |   |   Shorthand commands, like `checkout`
|   |   |   |   |   SCHEMA:
|   |   |   |   |     type: string
|   |   |   |   |   INPUT:
|   |   |   |   |     when:
|   |   |   |   |       condition: <<parameters.before_build>>
|   |   |   |   |       name: Run before_build lifecycle hook steps
|   |   |   |   |       steps: <<parameters.before_build>>
|   |   |   |   2. [#/jobs/publish/steps/4/when] only 1 subschema matches out of 2
|   |   |   |   |   1. [#/jobs/publish/steps/4/when] subject must not be valid against schema {"pattern":"^when$"}
|   |   |   |   |   |   SCHEMA:
|   |   |   |   |   |     not:
|   |   |   |   |   |       pattern: ^when$
|   |   |   |   |   |   INPUT:
|   |   |   |   |   |     condition: <<parameters.before_build>>
|   |   |   |   |   |     name: Run before_build lifecycle hook steps
|   |   |   |   |   |     steps: <<parameters.before_build>>
|   |   |   2. [#/jobs/publish/steps/4/when] 2 schema violations found
|   |   |   |   1. [#/jobs/publish/steps/4/when] extraneous key [name] is not permitted
|   |   |   |   |   Permitted keys:
|   |   |   |   |     - condition
|   |   |   |   |     - steps
|   |   |   |   |   Passed keys:
|   |   |   |   |     - condition
|   |   |   |   |     - name
|   |   |   |   |     - steps
|   |   |   |   2. [#/jobs/publish/steps/4/when/steps] expected type: Sequence, found: String
|   |   |   |   |   SCHEMA:
|   |   |   |   |     type: array
|   |   |   |   |   INPUT:
|   |   |   |   |     <<parameters.before_build>>
|   |   3. [#/jobs/publish/steps/6] 0 subschemas matched instead of one
|   |   |   1. [#/jobs/publish/steps/6] 0 subschemas matched instead of one
|   |   |   |   1. [#/jobs/publish/steps/6] expected type: String, found: Mapping
|   |   |   |   |   Shorthand commands, like `checkout`
|   |   |   |   |   SCHEMA:
|   |   |   |   |     type: string
|   |   |   |   |   INPUT:
|   |   |   |   |     when:
|   |   |   |   |       condition: <<parameters.after_build>>
|   |   |   |   |       name: Run after_build lifecycle hook steps
|   |   |   |   |       steps: <<parameters.after_build>>
|   |   |   |   2. [#/jobs/publish/steps/6/when] only 1 subschema matches out of 2
|   |   |   |   |   1. [#/jobs/publish/steps/6/when] subject must not be valid against schema {"pattern":"^when$"}
|   |   |   |   |   |   SCHEMA:
|   |   |   |   |   |     not:
|   |   |   |   |   |       pattern: ^when$
|   |   |   |   |   |   INPUT:
|   |   |   |   |   |     condition: <<parameters.after_build>>
|   |   |   |   |   |     name: Run after_build lifecycle hook steps
|   |   |   |   |   |     steps: <<parameters.after_build>>
|   |   |   2. [#/jobs/publish/steps/6/when] 2 schema violations found
|   |   |   |   1. [#/jobs/publish/steps/6/when] extraneous key [name] is not permitted
|   |   |   |   |   Permitted keys:
|   |   |   |   |     - condition
|   |   |   |   |     - steps
|   |   |   |   |   Passed keys:
|   |   |   |   |     - condition
|   |   |   |   |     - name
|   |   |   |   |     - steps
|   |   |   |   2. [#/jobs/publish/steps/6/when/steps] expected type: Sequence, found: String
|   |   |   |   |   SCHEMA:
|   |   |   |   |     type: array
|   |   |   |   |   INPUT:
|   |   |   |   |     <<parameters.after_build>>
2. [#/jobs/publish] expected type: String, found: Mapping
|   Job may be a string reference to another job

It looks like the source of the validation errors is the docker orb itself: https://circleci.com/orbs/registry/orb/circleci/docker

Something must have changed in the validation process itself, because the orb doesn’t appear to have changed and most of its previously working versions are affected.

EDIT: The issue has been mentioned as resolved on https://status.circleci.com/, however it appears it came back.

1 Like

I have the same problem. Previously working builds just stopped working.
We need a resolution ASAP.

Hi all! We tracked down the issue as it relates to the Docker Orb and pushed out a fix, which can be found in Orb version 1.0.2 (https://circleci.com/orbs/registry/orb/circleci/docker) :slight_smile: Thank you for the report and logs. We’re continuing to work on this internally.

Thank you for the reply and for solving the issue!