-
Notifications
You must be signed in to change notification settings - Fork 344
ci: Fix triggering CI #1693
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
ci: Fix triggering CI #1693
Conversation
kevinjqliu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
This is a follow up to #1686 (comment)
|
I think this fix the original issue. WDYT of using the catch-all with exception logic similar to iceberg-rust/.github/workflows/ci.yml Lines 24 to 40 in d66f994
I see there are other files that might affect the python-ci, like the |
|
@kevinjqliu Sure, but I don't know why |
|
ah! we're missing iceberg-rust/.github/workflows/ci.yml Lines 21 to 26 in d66f994
see this example from pyiceberg https://github.com/apache/iceberg-python/blob/83789f0f078005e347ac866bc8f9b9402eabd270/.github/workflows/python-ci.yml#L22-L29 Thanks LLM for catching this. |
7788dcc to
657c03c
Compare
|
@kevinjqliu Thanks, silly mistake. On the other hand, I don't want to trigger Bindings Python CI on all source code changes. If we add other modules in the future, we might need to modify this again. |
|
I like the include all and then exclude file approach. think we can change I think ppl also wont realize that this logic is here. so its better to "catch all". WDYT? |
657c03c to
d0df6b8
Compare
| - "crates/iceberg/**" | ||
| - "crates/integrations/datafusion/**" | ||
| - '**' # Include all files and directories in the repository by default. | ||
| - '!.github/workflows/**' # Exclude all workflow files |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this safe? I don't think we should exclude workflow files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This combined with the following line includes only binding_python_ci.yml to trigger this workflow, while changes to other workflow files will not. Make sense?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it makes sense to exclude workflow changes, which may cause confusions. We should be careful when excluding files.
| - '**' # Include all files and directories in the repository by default. | ||
| - '!.github/workflows/**' # Exclude all workflow files | ||
| - '.github/workflows/bindings_python_ci.yml' # except the current file. | ||
| - '!.github/actions/**' # Exclude custom actions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you explain how these actions are related to the bindings/python module?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also why we don't run ci when we changes actions?
| - '.github/workflows/bindings_python_ci.yml' # except the current file. | ||
| - '!.github/actions/**' # Exclude custom actions | ||
| - 'bindings/python/**' # Include source codes and its dependencies | ||
| - '!crates/**' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should exclude this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This combined with the following two lines include crates/iceberg/** and crates/integrations/datafusion/**, which are depended on by bindings/python, to trigger this workflow.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When we change codes in crates, it may also affect python binding, see bindings/python/Cargo.toml:35
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, crates/iceberg and crates/integrations/datafusion are included below.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What I want to say is that we should not only focus on current status. For example, what if we added another crate and python binding relies on it, and the ci may not be triggerred. Yes you could argue that this could be resolved eventually, but it would be confusing for new contributor to see that ci can't detect the changes.
| branches: | ||
| paths: | ||
| - '**' # Include all files and directories in the repository by default. | ||
| - '!.github/workflows/**' # Exclude all workflow files |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as python ci, please restore workflows, actions.
No description provided.