circleci-cli: using "when condition" at workflow level causes unhelpful error: Error: All Workflows have been filtered from this Pipeline.

Meta:

CircleCI CLI Version:

0.1.14915+4e9d967 (release)

Operating System:

 npx envinfo

  System:
    OS: macOS 11.1
    CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
    Memory: 2.30 GB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 12.13.1 - ~/.nvm/versions/node/v12.13.1/bin/node
    Yarn: 1.22.10 - ~/.nvm/versions/node/v12.13.1/bin/yarn
    npm: 6.12.1 - ~/.nvm/versions/node/v12.13.1/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.10.1 - /Users/zeno.jiricek/.rvm/gems/ruby-2.4.10/bin/pod
    Gradle: 6.8.1 - /usr/local/bin/gradle
    Homebrew: 3.0.1 - /usr/local/bin/brew
    Maven: 3.6.3 - /usr/local/bin/mvn
    pip3: 21.0.1 - /usr/local/bin/pip3
    RubyGems: 3.0.9 - /Users/zeno.jiricek/.rvm/rubies/ruby-2.4.10/bin/gem
  Utilities:
    Make: 3.81 - /usr/bin/make
    GCC: 4.2.1 - /usr/bin/gcc
    Git: 2.24.3 - /usr/bin/git
    Clang: 1200.0.32.29 - /usr/bin/clang
  Servers:
    Apache: 2.4.46 - /usr/sbin/apachectl
  Virtualization:
    Docker: 20.10.2 - /usr/local/bin/docker
    VirtualBox: 5.2.12 - /usr/local/bin/vboxmanage
  SDKs:
    iOS SDK:
      Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
  IDEs:
    Android Studio: 4.1 AI-201.8743.12.41.7042882
    Nano: 2.0.6 - /usr/bin/nano
    VSCode: 1.52.1 - /usr/local/bin/code
    Vim: 8.2 - /usr/bin/vim
    WebStorm: 2017.3.4
    Xcode: 12.4/12D4e - /usr/bin/xcodebuild
  Languages:
    Bash: 3.2.57 - /bin/bash
    Java: 1.8.0_222 - /usr/bin/javac
    Perl: 5.28.2 - /usr/bin/perl
    PHP: 7.3.24 - /usr/bin/php
    Python: 2.7.16 - /usr/bin/python
    Python3: 3.8.2 - /usr/bin/python3
    Ruby: 2.4.10 - /Users/zeno.jiricek/.rvm/rubies/ruby-2.4.10/bin/ruby
  Databases:
    SQLite: 3.32.3 - /usr/bin/sqlite3
  Browsers:
    Safari: 14.0.2
  Monorepos:
    Yarn Workspaces: 1.22.10

CircleCI CLI Diagnostic:

$ circleci diagnostic

---
CircleCI CLI Diagnostics
---
Debugger mode: false
Config found: /Users/zeno.jiricek/.circleci/cli.yml
API host: https://circleci.com
API endpoint: graphql-unstable
OK, got a token.
Trying an introspection query on API... 
Ok.
Hello, Zeno Jiricek.

Current behavior:

$ cat .circleci/config.yml
version: 2.1

jobs:
  foo:
    docker:
      - image: circleci/node:10
    steps:
      - checkout

workflows:
  version: 2

  master:

    when:
      or:
        - equal: [ master, << pipeline.git.branch >> ]

    jobs:
      - foo
$ circleci config validate
Error: All Workflows have been filtered from this Pipeline.
No Jobs have been run.

Expected behavior:

$ circleci config validate
Config file at .circleci/config.yml is valid.

When did this begin / Was this previously working?:

no idea

Additional Information:

nope.

About this issue

  • Original URL
  • State: open
  • Created 3 years ago
  • Reactions: 25
  • Comments: 25 (3 by maintainers)

Most upvoted comments

This actively affects our pipeline as well where we’re using the environment as a parameter and matching against the branch name to when: or: at the workflow level - I really do not want to have to add a superfluous workflow just to stop an overzealous error message.

Hi folks, I had same problem. But I detected that it fixed up if remove version: 2 from workflow section.

Bumping this. It shouldn’t be considered an error if all pipelines have been filtered.

is there a resolution to this? still experiencing this issue in June 2023

If you want to save a portion of credits for noop workflow, you can create a scheduled workflow that will never execute. e.g. February 31st

jobs:
  noop:
    docker:
      - image: cimg/base:current
    resource_class: small
    steps:
      - run: echo "noop"

workflows:
  noop: # This workflow is required, but will never run. https://github.com/CircleCI-Public/circleci-cli/issues/577
    triggers:
      - schedule:
          cron: "0 0 31 2 0" # February 31st
          filters:
            branches:
              only:
                - some_branch_that_will_never_exist_and_nobody_will_create_it
    jobs:
      - noop

Hey folks, I escalated this to the internal team that owns that. It hasn’t been prioritized as of now.

If you have an issue directly related with the CLI, feel free to update here/open issues in the repo but if your issue has to do with running pipelines in the core platform, I’d advise to go through the standard support channels so that there’s more visibility into that and a faster solution.

@ruben1 any update on this? Thank you! 😃

@mathaeus thanks for the clarification, I routed this to the right internal team to look into it.

Sounds to me that the error is on the server side. right? I mean, if there is nothing to run. Why would it fail? Doesn’t make sense