CircleCI-Public / CircleCI-Public/path-filtering-orb
Empty commits cause build failures
- Dominant language
- Shell
- Stars
- 29
- Forks
- 70
- PR merge metrics
- No merged PRs in 30d
Description
## Orb version:
1.0.0
## What happened:
When using a path-filtering configuration without a single `continue_config.yml` file an empty commit (e.g. `git commit --allow-empty -m "[deploy-test] test deploy"`) causes a build failure. The build fails with the following message:
```
Checking For yq + CURL
Config list ===
.circleci/continue_config.yml
Generated YAML ===
Error: open .circleci/continue_config.yml: no such file or directory
Exited with code exit status 123
```
Sample circleci config which can be used to recreate the issue along with an empty commit:
```yaml
---
version: 2.1
setup: true
orbs:
path-filtering: circleci/path-filtering@1.0.0
workflows:
generate-config:
jobs:
- path-filtering/filter:
base-revision: << pipeline.git.branch >>
mapping: |
be/.* build-be true be/.circleci/config.yml
fe/.* build-fe true fe/.circleci/config.yml
.* build-root true .circleci/root_level_config.yml
```
## Expected behavior:
The build should not fail. Ideally, any catch-all path filtering configs (e.g. `.*`) should also run.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the sample CircleCI setup configuration and reproduce the failure using an empty commit with no single continue_config.yml file. Trace the path-filtering/filter job's generated configuration and handling of the catch-all mapping; done means the build succeeds and catch-all path filters run as expected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- ci-cd
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100