CircleCI-Public / CircleCI-Public/path-filtering-orb

Empty commits cause build failures

Open
#101 1 comment 5 reactions 0 assignees View on GitHub
bug
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.