When testing out my config against the v2.1 schema, I ran into job name validation issues when running circleci config validate $FILE
-
~/repos/go/src/github.com/gorilla/mux (master) ✗ ➜ circleci config validate .circleci/config.yml
Error: ERROR IN CONFIG FILE: [#/jobs] 6 schema violations found
Any string key is allowed as job name.
1. [#/jobs/1.12] string [1.12] does not match pattern ^[A-Za-z][A-Za-z\s\d_-]*$
2. [#/jobs/1.10] string [1.10] does not match pattern ^[A-Za-z][A-Za-z\s\d_-]*$
3. [#/jobs/1.7] string [1.7] does not match pattern ^[A-Za-z][A-Za-z\s\d_-]*$
4. [#/jobs/1.11] string [1.11] does not match pattern ^[A-Za-z][A-Za-z\s\d_-]*$
5. [#/jobs/1.8] string [1.8] does not match pattern ^[A-Za-z][A-Za-z\s\d_-]*$
6. [#/jobs/1.9] string [1.9] does not match pattern ^[A-Za-z][A-Za-z\s\d_-]*$
The updated name requirements make it hard to express jobs by version number - e.g. 1.7
, 1.8
or even golang-1.12
or go1.12
- since running against multiple versions is key for our project(s) backwards-compat.
"1.12":
<<: *test
docker:
- image: circleci/golang:1.12
"1.11":
<<: *test
docker:
- image: circleci/golang:1.11
# etc
The “best” I can do is go111
, go112
, etc. Is there a clear rationale for the change, and/or any plans to revert? Open to other naming ideas too - but you can see how it’s already less clear than before.