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.