Skip to content

Govbot Windows - #17

Open
sartaj wants to merge 4 commits into
mainfrom
claude/govbot-windows-support-6IAAG
Open

Govbot Windows#17
sartaj wants to merge 4 commits into
mainfrom
claude/govbot-windows-support-6IAAG

Conversation

@sartaj

@sartaj sartaj commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

Make Govbot Work On Windows

claude and others added 4 commits April 23, 2026 17:16
Replaces unconditional `std::os::unix::fs::PermissionsExt::set_mode(0o777)`
calls in the robust-removal helper with a `make_writable` helper that uses
the unix mode bits on Unix and `Permissions::set_readonly(false)` on Windows.
Replaces the `rm -rf` shell fallback in `delete_repo` with a
`shell_remove_dir` helper that dispatches to `rm -rf` on Unix and
`cmd /C rmdir /S /Q` on Windows. Makes `govbot update` return a manual-install
pointer on Windows rather than shelling out to `sh -c "curl ... | sh"`.

Verified `cargo check` succeeds on `x86_64-unknown-linux-gnu` and
`x86_64-pc-windows-gnu` with no new warnings.

https://claude.ai/code/session_01BMdLaSsbHFKTwHXZwPTsrD
validate-snapshots.yml: expand govbot-snapshots job from ubuntu-only
to a matrix of ubuntu-latest / macos-latest / windows-latest so that
cargo test runs on all three platforms on every PR touching actions/govbot/.
Also corrects the cargo target cache path (target/ -> actions/govbot/target/)
so the cache key actually covers the build artefacts.

release-nightly.yml: add a windows-latest build entry targeting
x86_64-pc-windows-msvc. Introduces a `binary` matrix field
(govbot vs govbot.exe) so the upload-artifact step resolves the correct
binary name per platform. The Windows artefact is named
govbot-windows-x86_64.exe and is included in nightly releases alongside
the existing Linux and macOS binaries.

https://claude.ai/code/session_01BMdLaSsbHFKTwHXZwPTsrD
…h fixtures

actions/format/snapshots/wy/ contains OCD-style paths with literal ':'
characters, which Windows/NTFS can't check out. That made actions/checkout
fail outright on windows-latest runners for jobs that only need
actions/govbot/, before any govbot code could run.
actions/checkout's sparse-checkout input alone doesn't avoid the
colon-path failure: without a sparse index, git still builds a full
index (validating every tree path, even skip-worktree ones) before
applying the sparse pattern. Check out manually with
`sparse-checkout --cone --sparse-index` on windows-latest so
actions/format is never expanded into individual blob entries.
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.

2 participants