[Feature Request] File or Path Filter | Sparse Git Checkout #243
Comments
Maybe if it's easier what about support for sparse checkouts - only work in a specific subfolder? http://stackoverflow.com/questions/600079/how-do-i-clone-a-subdirectory-only-of-a-git-repository |
Is this two separate things?
|
@njdnet101 I think for my use case I need 1 |
Hi @sj26, is there any update on this particular feature? Thanks. |
Hi folks, Dynamic pipelines put all of this within your control! Start your build with a dynamic pipeline upload which uses something like You could wrap this up into a plugin so that this behaviour can be shared across your pipelines, and even shared with the wider community. This is how we prefer to see these things happen — features like this emerge from amazing folks doing awesome things. The only downside is that if you upload an empty pipeline this will still be a "passed" build, even if it does nothing. We might eventually add a Cheers, |
It's a shame this feature is getting pushed back. Other CI tools seem to support this feature. |
@nikskiz you're totally right, it's something we gotta add! What makes it tricky is we don't have access to the source code, but maybe there's another way to implement it... If anyone is still subscribed to this issue, I'd love to hear more about how you want this to work! Even some examples of how you've seen it implemented before and what you like/don't like about them. Maybe either post here, or email me what you want to see added to keith@buildkite.com |
I agree, this seems to me like a "table stakes" kind of feature for a build tool. All you need is a list of paths in .gitignore style syntax that should cause a step to trigger, if they have changed since the last successful build of the current branch. Incidentally Github Actions does it exactly like this https://help.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow#filtering-for-specific-branches-tags-and-paths We have had to implement the workaround mentioned by @sj26 of I can confirm It is possible to do it that way, but it really seems like a basic feature that a CI tool should make simple. |
Seems like given the fact that BuildKite already reacts to Github webhook event payloads to create work for the agents, it could use Github PR metadata here to perform some basic filtering on paths affected? Even if it's just basic prefix filtering. Maybe I'm missing some obvious blocker as to why this is hard for BuildKite to support though. |
In addition to my previous comment, it occurs to me that the new |
The "something like Imagine I have 4-5 sub-projects, with each one having specific tests, I want for every PR to test only what has changed, compared to master. With Github Actions, I do something like:
On a professionnal side, we are using Buildkite. And I had to implement a script that detects it for 20 different sub-trees, so we developped a python script to make it configurable. Here is the headline:
If buildkite had paths feature, I could remove those 175 lines of python and would not have spent days developping something functional. |
We ended up implementing our own |
i'd like to reiterate that this functionality seems like it should be a core functionality of a CI system. I have used it with Github Actions and Gitlab CI and having to implement this on your own seems undesirable and less reliable |
Chiming in that this feature would be immensely helpful. Has there been any progress on this front? |
Damn. I could really use this right about now. |
Follow up. Would be great to be a build-in feature as available in other equivalent market tools. |
Follow up. Path specific triggers would be super helpful. |
Hi,
I'd like to be able to only run a job in a pipeline if a particular file (or maybe matching path/glob) has changed.
I'd like to use this to only run our docker build and publish step if the
Dockerfile
has changed.E.g.
Thanks!
The text was updated successfully, but these errors were encountered: