haskell / haskell/cabal

Mix include and exclude paths in workflows

Open
#10,777 2 comments 0 reactions 0 assignees View on GitHub
attention: pr-welcome
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

> On reflection and after reading about [excluding paths](https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#example-excluding-paths), we know the paths that `cabal-install` is dependent on, why don't we switch from `paths-ignore` to `paths`?

```
$ cabal info cabal-install
...
Dependencies: ... Cabal ...
Cabal-syntax ...
cabal-install-solver ...
Cabal-QuickCheck ...
Cabal-described ... Cabal-tests ... cabal-install, ...
```

It is also possible to mix, to [exclude and include](https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#example-including-and-excluding-paths) paths.

_Originally posted by @philderbeast in https://github.com/haskell/cabal/pull/10740#discussion_r1938357359_

That would give us a configuration something like:

```yaml
paths:
- 'Cabal-QuickCheck/**'
- 'Cabal-described/**'
- 'Cabal-syntax/**'
- 'Cabal-tests/**'
- 'Cabal/**'
- 'cabal-install-solver/**'
- 'cabal-install/**'
- '!Cabal-tests/test/**'
- '!cabal-testsuite/PackageTests/**'
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.