Skip to content

ci: use Dev Drive for Windows CI jobs#8574

Merged
Boshen merged 6 commits intomainfrom
ci/windows-defender-exclusions
Mar 7, 2026
Merged

ci: use Dev Drive for Windows CI jobs#8574
Boshen merged 6 commits intomainfrom
ci/windows-defender-exclusions

Conversation

@Boshen
Copy link
Member

@Boshen Boshen commented Mar 7, 2026

Summary

  • Add setup-dev-drive action to Windows CI jobs in reusable-cargo-test.yml and reusable-native-build.yml
  • Creates an 8GB ReFS Dev Drive that automatically bypasses Windows Defender minifilter for faster I/O
  • Places CARGO_HOME and RUSTUP_HOME on the Dev Drive where the heaviest compilation I/O occurs

Related #8553

🤖 Generated with Claude Code

Add exclusion paths for the workspace, Cargo home, and Rustup home
to disable Windows Defender real-time scanning during Rust compilation.
This is a well-known optimization that can reduce Windows build times
by 20-40%.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@netlify
Copy link

netlify bot commented Mar 7, 2026

Deploy Preview for rolldown-rs canceled.

Name Link
🔨 Latest commit 1bba019
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/69ac01dba9d7cc00083a7217

The env vars may not be set on GitHub runners, causing null argument
errors. Fall back to ~/.cargo and ~/.rustup defaults.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
hyf0 and others added 3 commits March 7, 2026 15:53
Add setup-dev-drive action to create an NTFS Dev Drive for the workspace,
CARGO_HOME, and RUSTUP_HOME. Dev Drives bypass Windows Defender minifilter
and provide faster I/O for developer workloads. This also ensures
CARGO_HOME/RUSTUP_HOME env vars are set for the Defender exclusion step.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Boshen Boshen changed the title ci: add Windows Defender exclusions to speed up Windows CI jobs ci: use Dev Drive for Windows CI jobs Mar 7, 2026
ReFS enables native Dev Drive support which automatically bypasses the
Windows Defender minifilter. Remove workspace-copy since source files
stay in the original workspace — only CARGO_HOME and RUSTUP_HOME
benefit from the faster drive.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Boshen Boshen marked this pull request as ready for review March 7, 2026 13:40
Copilot AI review requested due to automatic review settings March 7, 2026 13:40
@Boshen Boshen merged commit 09cfefd into main Mar 7, 2026
39 checks passed
@Boshen Boshen deleted the ci/windows-defender-exclusions branch March 7, 2026 13:41
@Boshen Boshen mentioned this pull request Mar 7, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the Windows CI execution environment in reusable Rust workflows to speed up compilation-heavy I/O by creating a Dev Drive and relocating Rust/Cargo home directories onto it.

Changes:

  • Add samypr100/setup-dev-drive to Windows runs in the reusable native build workflow.
  • Add samypr100/setup-dev-drive to Windows runs in the reusable cargo test workflow.
  • Map CARGO_HOME and RUSTUP_HOME to paths on the Dev Drive to reduce Defender overhead and improve filesystem performance.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
.github/workflows/reusable-native-build.yml Creates a Windows Dev Drive and remaps Rust/Cargo home before building native artifacts.
.github/workflows/reusable-cargo-test.yml Creates a Windows Dev Drive and remaps Rust/Cargo home before building and running Rust tests.

@github-actions github-actions bot mentioned this pull request Mar 9, 2026
shulaoda added a commit that referenced this pull request Mar 9, 2026
## [1.0.0-rc.8] - 2026-03-09

### 🚀 Features

- watch: enable full functional fs watcher in wasm (#8575) by @hyf0
- watch: expose debounce related options (#8572) by @hyf0

### 🐛 Bug Fixes

- detect new URL(…, import.meta.url) with no-sub template literal (#8565) by @char
- devtools: trace dynamic imports in devtools (#8581) by @cal-gooo
- watch: rebuild when a previously missing file is created (#8562) by @hyf0-agent
- watch: filter out Access events to prevent infinite rebuild loop on Linux (#8557) by @hyf0-agent

### 🚜 Refactor

- watch: remove auto watch for fail imports (#8585) by @hyf0
- fs_watcher: unify the way of constructing watcher (#8571) by @hyf0
- cli: migrate CLI to CAC (#8551) by @h-a-n-a
- switch asset module support from hard-code to builtin plugin (#8546) by @hyf0

### 📚 Documentation

- fix subject-verb agreement in why-bundlers.md (#8591) by @brandonzylstra
- maintenance: align release and canary workflow guide (#8538) by @minsoo-web
- add `format` option to directives example config (#8590) by @shulaoda
- fix: change twitter to x logo in team (#8552) by @mdong1909
- correct composable filter support explanation (#8550) by @sapphi-red

### ⚡ Performance

- testing: share tokio runtime across fixture tests (#8567) by @Boshen

### 🧪 Testing

- hmr: fix infinite loop in dev server test retry logic (#8576) by @hyf0-agent
- cli: add more cli-e2e test cases (#8548) by @h-a-n-a

### ⚙️ Miscellaneous Tasks

- docs: update in-depth/directives for `output.strict` option (#8535) by @minsoo-web
- add PNPM_HOME Dev Drive mapping to Windows CI workflows (#8589) by @Boshen
- deps: update github-actions (#8588) by @renovate[bot]
- move Windows cargo target dir to Dev Drive (#8586) by @Boshen
- optimize cache keys to fix race conditions and reduce usage (#8578) by @Boshen
- remove WASI build & test pipeline (#8580) by @Boshen
- remove unnecessary submodule checkouts (#8577) by @Boshen
- use Dev Drive for Windows CI jobs (#8574) by @Boshen
- skip redundant native binding build for browser and remove standalone job (#8573) by @Boshen
- parallelize Node tests on ubuntu, single Node 24 on macOS/windows (#8570) by @Boshen
- docs: bump @voidzero-dev/vitepress-theme to 4.8.0 (#8558) by @crusty-voidzero
- dedupe type-check from dev server workflow (#8554) by @Boshen

### ❤️ New Contributors

* @brandonzylstra made their first contribution in [#8591](#8591)
* @char made their first contribution in [#8565](#8565)
* @cal-gooo made their first contribution in [#8581](#8581)
* @hyf0-agent made their first contribution in [#8562](#8562)
* @h-a-n-a made their first contribution in [#8551](#8551)

Co-authored-by: shulaoda <165626830+shulaoda@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants