Skip to content

fix(build,docs): windows platform splits; provider guide matches astro schema - #291

Merged
David-Noble-at-work merged 1 commit into
developfrom
fix/windows-build-and-guide-category
Jul 25, 2026
Merged

David-Noble-at-work merged 1 commit into
developfrom
fix/windows-build-and-guide-category

Conversation

@David-Noble-at-work

Copy link
Copy Markdown
Contributor

Fixes the two failures left by #290's merge. (1) Release: syscall.Umask and *syscall.Stat_t do not exist on Windows; both uses now sit behind //go:build unix / windows splits (processUmask() in pkg/op, statIdentity() in the file provider), and make dist-all compiles all six platforms. The Stat_t break was masked in CI because pkg/op failed first. (2) Website deploy: provider-development.md carried category: "development", rejected by the site's Astro guides schema; now "tutorial", retitled "How to create and modify providers". After merge the pipeline self-heals: Release re-runs and creates the skipped install-script sync PR, and docs-publish syncs the corrected guide so the site deploy goes green. Chartered follow-ups in docs/plans/fix-windows-build-and-guide-category.md.

…o schema

pkg/op: syscall.Umask does not exist in the Windows syscall package, so
Release's windows/amd64 cross-build failed at make dist-all. Split the
umask read into build-tagged files: processUmask() does the Umask(0)
round-trip on unix and returns zero on Windows (no umask; the base mode
passes through unmasked).

pkg/op/provider/file: *syscall.Stat_t also does not exist on Windows --
masked in CI because nothing depending on pkg/op compiled after pkg/op
failed. Split statIdentity() the same way: unix returns Ino/Dev from
Stat_t; Windows returns zeros, so statTupleEtag falls back to size+mtime
and Observe reports no inode or device. ENOTEMPTY/ENOTDIR stay put --
those Errno constants exist on Windows.

default_funcs.go: parameter bullets renamed env: -> runtimeEnvironment:.

docs/guides/provider-development.md: category "development" is not in the
site's Astro guides enum (overview|tutorial|concept|reference), which
broke the website deploy after the docs sync merged. Now category
"tutorial", retitled "How to create and modify providers". All 12 other
guides carry valid categories.

Verified: gofmt clean; make vet; make test; make dist-all compiles all
six platforms including windows/amd64 and windows/arm64. Plan and
chartered follow-ups: docs/plans/fix-windows-build-and-guide-category.md.
@David-Noble-at-work
David-Noble-at-work merged commit 4c7fb22 into develop Jul 25, 2026
2 checks passed
@David-Noble-at-work David-Noble-at-work self-assigned this Jul 25, 2026
@David-Noble-at-work
David-Noble-at-work deleted the fix/windows-build-and-guide-category branch August 11, 2026 18:43
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.

1 participant