Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add skipping paths option to path #20

Open
thealmightygrant opened this issue Jul 8, 2024 · 4 comments · May be fixed by #27
Open

Add skipping paths option to path #20

thealmightygrant opened this issue Jul 8, 2024 · 4 comments · May be fixed by #27

Comments

@thealmightygrant
Copy link

Hi y'all, it's exciting that you took over this project! 🎉

Is there any chance that you could implement this feature in the future?

@chrismacnaughton-lambda
Copy link

I just want to add another vote for this feature!

@macjustice
Copy link

Sure would be nice. This feature is table stakes in other CI products.

@jamietanna
Copy link

jamietanna commented Oct 7, 2024

I've raised:

Not sure which of the two the maintainers will prefer more, but we can see :)

@jamietanna
Copy link

An alternate option I'd consider would be useful would be to have an else, i.e. so you can do:

        watch:
          - path: "**/*.md"
            config:
              command: "..."
          - path: ".github/CODEOWNERS"
            config:
              command: "..."
          # otherwise run full E2E tests
          - else:
            config:
              command: "..." 

jamietanna pushed a commit to elastic/monorepo-diff-buildkite-plugin that referenced this issue Oct 8, 2024
As part of buildkite-plugins#20, we want to be able to negate specific paths in a given
`watch` path by using `skip_path`.

This PR adds support for specifying a `skip_path` option that support
either a path or a list of paths that shouldn't result in adding the
`trigger` step as part of the dynamically generated pipeline.

Note even in cases where a line in the `diff` is skipped due to
`skip_path` and there are other paths in the `diff` that match `path`
but doesn't match `skip_path`, the step will still be added to the
dynamically generated pipeline. i.e. for the step to be effectively
ignored, the paths in `skip_path` should match all of those in the given
`diff`.

This is required due to the lack of support for negation cases in
`doublestar`, which we use for glob pattern matching[0].

Closes buildkite-plugins#20.

[0]: bmatcuk/doublestar#49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants