Conversation
There was a problem hiding this comment.
Added to here so I can test it
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
alamb
left a comment
There was a problem hiding this comment.
Thanks @rluvaton -- I left some ideas
once merge I will iterate over this, but this works from what I tested
How did you test?
My biggest concern for all these CI jobs / improvements is the bandwidth to maintain them . We have such limited maintainer bandwidth in general.
Have you considered running this check on one of your own machines (rather than as a github action), polling for PRs to test? We have had good luck with that model and the run benchmark commands.
I think external runners are better because:
- They are easier to debug
- They are maintained outside of the normal DataFusion code repo
- They aren't limited to the github workflow syntax / logic (which I find very hard to debug)
What do you think?
| - name: Determine changed crates | ||
| id: changed_crates | ||
| run: | | ||
| # Parse workspace members from root Cargo.toml, excluding internal crates |
There was a problem hiding this comment.
I am not sure how to debug scripts like this -- can you please put this logic into an existing script (like maybe ci/scripts/changed_packages.sh?
There was a problem hiding this comment.
extracted along with creating comments
|
|
||
| # Only install toolchain and cargo-semver-checks if there are crates to check | ||
| - name: Install Rust toolchain | ||
| if: steps.changed_crates.outputs.packages != '' |
There was a problem hiding this comment.
I think the github runner already has rust installed so this step is unecessary probably?
| steps: | ||
| - name: Comment | ||
| if: ${{ needs.check-semver.result != 'success' }} | ||
| uses: marocchino/sticky-pull-request-comment@v2 |
There was a problem hiding this comment.
I thought in general the ASF CI jobs are supposed to avoid using non github actions (unless it is on the whitelist) -- so I am surprised this works.
There was a problem hiding this comment.
did not test the sticky pull request itself, just tested the breaking change detector
locally
Usually ci workflows do not really change
I don't have one
Unfortunately I don't have my own machines and maintaining a my own script which involves logic that already come built in inside github action sounds harder to maintain, and also I would need to manage my own machines, debug, etc rather than using existing github infra |
Maybe that is true, but I have spent more hours of my life trying to debug / fix github workflows than I would like to admit.
Yes it definitely shifts the maintenance burden (aka who pays for the maintenance) |
Which issue does this PR close?
Partially closes:
Rationale for this change
detect breaking changes
What changes are included in this PR?
add new github workflow
Are these changes tested?
Looks like it is working
Are there any user-facing changes?
no