Closed MichaelScofield closed 1 year ago
@tabokie PTAL
@tabokie PTAL. Can you approve the workflow to run so I can debug the windows build in CI?
@tabokie can you make this PR always run workflow? Need another approval again. Debugging github workflow is a pain, especially for os = windows. I can see more commits to debug it in the future.
I don't have the permission to do that. It's weird though because my fork repo runs the workflow just fine: https://github.com/tabokie/raft-engine/actions, I wonder why your fork repo ignores the workflow file.
@MichaelScofield You can work around this by merging another small PR first. E.g. Open another PR to update clap manually (https://github.com/tikv/raft-engine/pull/306)
@tabokie Having trouble with building pingcap grpc in windows os: https://github.com/tikv/raft-engine/actions/runs/5493202302/jobs/10013725416 . Any ideas? Thx!
It can build now, you just need to fix the tests.
Running into infamous "access denied (os error 5)" error in windows. Convert this PR to draft first, to reduce github notification noise.
Patch coverage: 95.34%
and no project coverage change.
Comparison is base (
58041ad
) 97.98% compared to head (94a96db
) 97.99%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
@tabokie PTAL. The tests are all passed (at least in my repo's action, see here). Let's approve the workflow in this PR to see how it goes!
@MichaelScofield #325 is merged. Feel free to ask questions. https://github.com/tikv/raft-engine/pull/322#discussion_r1265127742 might be too much work for this PR, you can follow up in another one or let me handle it later.
@tabokie Sorry for the late reply, busy week.
I actually considered using the raw Windows API earlier. However, skimmed through the "windows" crate and the "official win32 API docs", I find it's not a quick and easy task. It requires detailed understanding of Windows filesystem to do it well, which I'm currently lacking of, nor do I have the time to study it. Besides, the windows binding APIs are all "unsafe" to call in rust. So I decide to switch back to the good old std fs, make it right first.
I'll make the features worked in the new test matrix this weekend.
@tabokie tests are ok now, PTAL
@tabokie PTAL
Now the "test_matrix" is only used in coverage job, and only runs under ubuntu.
@tabokie PTAL
GitHub action space is not enough.. I'll take a look tomorrow.
Let cargo build pass under windows system:
fork.rs
LogFd
implementations in each os. Guarded (or choosen) by feature flagsstd::fs
APIs insteadnix
raw bindings