tl;dr: a new job state has appeared publicly, but may not be working - is it actually available? or when might it be?
I noticed in the public schema that a new not_run state has been added, as of 2 weeks ago. I found the source on GitHub. The documentation, though, naturally doesn’t include it, nor does the cci-language-server (the bottom half of the following image is being sourced from the public schema, hence my confusion):
I’ve tried to use it, but it isn’t functioning as expected: when a job doesn’t run because one of its requires doesn’t match, any job requiring that job to end with not_run state will not run. I know, of course, this isn’t at all defined as a feature yet, so there isn’t really a spec against which I can reasonably set my expectations.
So I’m just wondering when it may become available? Because it’ll allow me to massively reduce my configuration by removing a whole bunch of scripts that are basically doing the same thing, and reduce them down to proper CircleCI workflow orchestration
![]()
Example config:
version: 2.1
jobs:
test_success:
resource_class: small
docker:
- image: cimg/base:current
steps:
- run: 'echo success'
test_failure:
resource_class: small
docker:
- image: cimg/base:current
steps:
- run: 'echo failed && exit 1'
test-coordinator:
type: no-op
workflows:
build_test_and_deploy:
jobs:
# Run tests in parallel.
- test_success
- test_failure
- test_success:
name: test_not_run
filters:
branches:
only:
- foo
- test-coordinator:
name: wait_for_tests_all
requires:
- test_success
- test_failure
- test-coordinator:
name: after_tests_success
requires:
- wait_for_tests_all
- test-coordinator:
name: after_tests_failed
requires:
- wait_for_tests_all: failed
- test-coordinator:
name: after_tests_canceled
requires:
- wait_for_tests_all: canceled
- test-coordinator:
name: after_tests_not_run
requires:
- wait_for_tests_all: not_run
Results: none of the jobs named after_tests_* run. I assumed after_tests_not_run would run though.





