Hi all, Circle 2.0 is great. However, the workflow filter functionality is somewhat broken for our particular deploy practice (which I think many others share), namely:
Releases should go out only when the commit is both tagged AND pushed to a particular branch.
We try to get this behavior by having a job named “deploy_production” which has the following gate filters for deploying to production (relevant section below):
- deploy_production: requires: - build_and_push filters: tags: only: /^v\d+.\d+.\d+$/ branches: only: /^release$/
What we want is to only run deploy_production when there is a tag matching the only regex AND when the branch is “release”. However, what we’ve observed is that this job runs when there is a tag matching the only regex OR when the branch is “release”.
This makes no sense given the way Circle 1.0 worked with respect to filtering portions of a build process/workflow, which behaved as a logical AND. I think most people expect for this to be more restrictive.
Can you create a way to have both filters be applied instead of either one? I’m sure it would make a lot of people happy.