Skip to content

Conversation

crrow
Copy link

@crrow crrow commented Jul 24, 2024

Description

Use cargo-binstall to install tarpaulin.

#90

How are the changes test-covered

  • N/A
  • Automated tests (unit and/or integration tests)
  • Manual tests
    • Details are described below

@crrow crrow force-pushed the feat/run-ci-on-windows branch 2 times, most recently from 340f06b to 13d4ca9 Compare July 24, 2024 15:56
@crrow crrow changed the title Feat/run ci on windows chore: run ci on windows Jul 24, 2024
@github-actions github-actions bot added the ci label Jul 24, 2024
@xushiyan xushiyan added this to the release-0.2.0 milestone Jul 25, 2024
@xushiyan xushiyan changed the title chore: run ci on windows ci: run rust-tests on windows Jul 25, 2024
Copy link
Member

@xushiyan xushiyan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Screenshot 2024-07-24 at 9 35 50 PM

@crrow thanks for the fix! interestingly the CI job wasn't even triggered. any idea what's going on?

@xushiyan
Copy link
Member

@crrow i suspect your previous approach using binstall could work but the github action was not whitelisted by asf so the whole workflow is not triggered. if you can verify that binstall approach in your own fork and get CI to pass, then i can reach out to have that white listed.

@crrow
Copy link
Author

crrow commented Jul 27, 2024

@crrow i suspect your previous approach using binstall could work but the github action was not whitelisted by asf so the whole workflow is not triggered. if you can verify that binstall approach in your own fork and get CI to pass, then i can reach out to have that white listed.

ok, i'll check it out later.

@crrow crrow force-pushed the feat/run-ci-on-windows branch from 6300fc3 to 0b991e3 Compare July 27, 2024 09:31
@crrow
Copy link
Author

crrow commented Jul 27, 2024

@crrow i suspect your previous approach using binstall could work but the github action was not whitelisted by asf so the whole workflow is not triggered. if you can verify that binstall approach in your own fork and get CI to pass, then i can reach out to have that white listed.

ok, i'll check it out later.

Hello @xushiyan , I setup the workflow, have a check when you are free.

https://github.com/crrow/hudi-rs/actions/runs/10122608881/job/27994952767

- uses: actions/checkout@v4
- uses: cargo-bins/cargo-binstall@main
- name: Install tarpaulin
run: cargo binstall -y cargo-tarpaulin
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@crrow using cargo-bins/cargo-binstall works! The job fails due to some test failure - can you look into and fix any code if needed? meanwhile i'll get binstall whitelist so it can be triggered here.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xushiyan I'd love to, but I'd prefer to address the Windows code in a separate pull request.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's your thought on separator and test case? Some test failed because of rust's automatic normalize, and URL parse failed since some test cases are Linux path, and it cannot be parsed on Windows.

By the way, I think some test cases can be rewritten with https://crates.io/crates/test-case

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@crrow absolutely! we should separate test code fix from CI setup change. Feel free to create another PR for the test fix wrt url parsing. You may also make the code change here so we know the test fix can pass with the CI, then separate it out. It's up to you.

I've thought about using some test helper lib but not sure if https://github.com/frondeus/test-case is the best candidate. there are many crates maintained by community like https://github.com/la10736/rstest seems more popular with more recent releases. I'll create an issue about this for future refactoring work.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xushiyan Do we have to handle this case? , its tricky for windows

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xushiyan Do we have to handle this case? , its tricky for windows

@crrow that path is a unix path which should not be applicable to windows os. Can we split that case to test case which does not run on windows, and also add a windows specific test case with an example windows path ?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, I'd love to

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh...I found that its still tricky, like "C:\foo", url::parse will success, it thoughts 'c' is the schema, rather than a filepath; for "\foo", url::parse and url::from_filepath will all fail; We can handle both cases by adding additional check like if current os is windows and the given str has ":\".

Can we be stricter about what qualifies as a 'valid URL'? Like a valid URL must have a schema.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@crrow would you do a bit of research on how windows paths are usually handled in consideration of scheme? we want to be flexible in supporting paths - it can start with C:\, file:///, /, s3:// as these are valid paths anyway.

@xushiyan xushiyan modified the milestones: release-0.2.0, release-0.3.0 Sep 15, 2024
@xushiyan xushiyan added the help wanted Extra attention is needed label Dec 13, 2024
@xushiyan xushiyan modified the milestones: release-0.3.0, release-0.4.0 Jan 23, 2025
@xushiyan xushiyan modified the milestones: release-0.4.0, release-0.5.0 Mar 21, 2025
@xushiyan xushiyan force-pushed the feat/run-ci-on-windows branch from 0b991e3 to b5d2311 Compare October 3, 2025 21:57
Copy link

codecov bot commented Oct 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.94%. Comparing base (8b8451a) to head (e10aef1).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #92   +/-   ##
=======================================
  Coverage   88.94%   88.94%           
=======================================
  Files          49       49           
  Lines        2704     2704           
=======================================
  Hits         2405     2405           
  Misses        299      299           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@xushiyan xushiyan force-pushed the feat/run-ci-on-windows branch from e10aef1 to 61a33ce Compare October 3, 2025 23:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci help wanted Extra attention is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants