axodotdev / axodotdev/cargo-dist
consider setting up windows dev drives for our users
- Dominant language
- Rust
- Stars
- 2.1k
- Forks
- 150
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 32
Description
Windows dev drives AKA ReFS are an opt-in new filesystem that is optimized for github repos / builds that can potentially speed things up a lot.
* docs: https://learn.microsoft.com/en-us/windows/dev-drive/
* blogpost: https://devblogs.microsoft.com/visualstudio/devdrive/
* astral seeing some wins doing this: https://github.com/astral-sh/uv/pull/3522
It's a bit surprising to me that github of all places can't automagically set this up for you but it is true that there's windows features that Don't Work in these drives so in the most general sense they aren't safe to turn on. However I believe it's *basically* always fine, so as a default it's pretty sensible.
# Known Pros
Wins from dev drive are apparently mostly that it basically tells windows defender to stop realtime scanning the contained files. This is apparently especially high impact for things like unzipping files. Honestly kind of surprising to hear windows defender runs on github actions but maybe it does?
# Known Limitations
Biggest limitation of devdrive is that it doesn't support "reparse points" which is similar to a linux FUSE filesystem in that they are a filesystem-level feature that lets a filesystem say there is a "file" that is actually some magic that another program gets callback'd to read/write the bytes as needed
* this is a big deal for windows *as an operating system* because this feature backs many things like
* dropbox/onedrive cloud sync files, which may not exist on the FS until you access them
* filesystem mounts
* certain kinds of symlinky things
* font files, which are i guess synthesized on the fly if you read them
* for a source repo and build these things are largely irrelevant (why are you mounting a filesystem underneath your repo? why are you booting up onedrive in there? etc)
Contributor guide
Research direction
Start with the Windows Dev Drive documentation and the linked uv pull request to understand the proposed setup and its ReFS limitations. Define whether cargo-dist should configure or offer Dev Drives, and consider the work complete only when the supported behavior, safety constraints, and user-facing outcome are specified.
Written by the indexing model from the issue text.
Assessment
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100