How can we stop nightly builds from being run on PRs coming from a master
branch?
A config like below will run nightly-job
not just for user/project/master
but also for otheruser/project/master
.
workflows:
do-nightly:
jobs:
- nightly-job
triggers:
- schedule:
cron: "0 0 * * *"
filters:
branches:
only:
- master
We have a workaround that runs a shell script checking $CIRCLE_PROJECT_USERNAME
, but jobs still get queued and run.
@afeld posted a solution in Create separate steps/jobs for PR/Forks versus branches (thread closed, or I’d have bumped this there) that does not require actually running anything:
jobs:
- forks_only:
filters:
branches:
# only from forks
only: /^pull\/.*$/
- canonical_repo_only:
filters:
branches:
# only from canonical repository
# https://stackoverflow.com/a/5334825/358804
only: /^(?!pull\/).*$/
Does this still work? The documentation does not specify what string is matched against, or if a non-regex match matches any part, just the branch name part, in total or in part.
Clarification would be greatly appreciated.