Skip to content

fix(ci): green main on macOS, Windows, v1.5 Linux, lint and the coverage gate - #1028

Open
acamarata wants to merge 2 commits into
mainfrom
fix/ci-main-red-20261029
Open

acamarata wants to merge 2 commits into
mainfrom
fix/ci-main-red-20261029

Conversation

@acamarata

Copy link
Copy Markdown
Collaborator

Main has been red since 0671df1 (runs 40888427765 CI, 40892900405 Coverage).

Root causes

  • macOS: TestConfigExplainMonorepoExecution compared os.Getwd (resolved /private/var) to an unresolved temp path. Test bug; now compares EvalSymlinks.
  • Linux (NSELF_V15=1 leg): TestApplyEntitlementRefreshFailureIsPublished published the non-YAML string 'published' as docker-compose.yml, which the v1.5 lock read rejects. Test bug; same hunk as fix(import,license): importer stage cleanup, SafeError, single bundle verify, supabase users, read-only plan clock (D-0763, D-0764, D-0768, D-0785, D-0888) #991.
  • Windows internal/build: removeTree kept its os.Root handle open while removing the directory, which Windows refuses. Real bug.
  • Windows cmd/commands: ensureEnvFilePermissions asked for chmod 0600 on a platform that reports 0666, so the apply deviated from the plan. Real bug; now a no-op on Windows (the planner and verifyPublished already treat Windows modes as meaningless).
  • golangci-lint: unchecked fmt.Fprintf in internal/compose/dry_run_env.go.
  • Coverage gate: cmdregistry 95.9 against a 96 floor (new tests for FlagInsertionIndex, NoopBoolValue; now 99.6 locally); envrestore (61) and frontcheck (0) had no floor and strict mode fails on that. Floors follow the covfloor -write rule (measured minus 2).

No floor lowered, no skips, no continue-on-error.

…age gate

- config explain monorepo test: compare the resolved cwd (macOS /var is a symlink to /private/var)
- reconcile entitlement test: publish valid compose so the v1.5 image-pin read parses it
- proxy restore: close the anchoring os.Root before removing the directory (Windows refuses to remove a directory with an open handle)
- build: skip the .env 0600 fix on Windows, where permission bits do not exist and the plan can never match the apply
- compose: check the dry-run Fprintf result (errcheck)
- cmdregistry: tests for FlagInsertionIndex and NoopBoolValue to clear the 96 percent floor
- coverage floors for envrestore and frontcheck, which strict mode requires
…ndles, compare cwd by identity

- move the unwritable-directory scan out of internal/build into internal/dirwritable (build shrinks below its ceiling)
- release the publisher's cached cleanup handle before removing that directory (Windows)
- config explain monorepo test: compare the working directory with os.SameFile (macOS /var symlink, Windows 8.3 names)
- coverage floor for internal/dirwritable
@acamarata
acamarata force-pushed the fix/ci-main-red-20261029 branch from b00c7d6 to 1f98b56 Compare October 29, 2026 17:44

This branch has not been deployed

No deployments
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