Repository navigation
Conversation
|
Rebased onto origin/main to resolve merge conflicts in internal/plugin/{cli_collision_test,download,installer_locked,installer_signature,security}.go. Kept origin/main's openArchive/verifyChecksumSum/extractTarGzFrom approach (D-1326) which already satisfies D-0844's single-snapshot guarantee; rewrote archive_snapshot_test.go to exercise that contract via the same helpers. All plugin tests pass with -mod=vendor. |
|
Rebased onto origin/main and regenerated .github/facts.json (stale after main moved). TestFactsCurrent/TestReadmeFactsCurrent now pass locally; pushed b46489a to dw9-cli-18. |
|
Fixed both review findings:
|
|
Fixed both review findings in b0828d2:
Both |
|
Review fix: ran gofmt -w on cmd/commands/relocate.go, plugin_autoinstall.go and ci_bootstrap_test.go (import ordering/indentation) and amended b0828d2 (now 3697c74, force-with-lease). Before: TestGofmtClean and scripts/ci/gofmt-check.sh failed on those 3 files. After: both pass; go build, go vet ./cmd/commands and the focused cmd/commands tests (TestCIBootstrap|TestAutoInstall|Relocate) pass. PR body validation line corrected to match. |
|
Rebased onto origin/main (92322be, #1009) to clear the merge conflict. One conflict, in internal/repoqa/testdata/package-size-allowlist.txt: both sides edited the internal/plugin ceiling. Kept this branch's 10092, which covers archive_snapshot_test.go; TestPackageSizeBudget passes. Checks after the rebase: go build ./..., go vet, gofmt clean, internal/plugin/..., maintenance, config, build, pluginname, repoqa and tools/facts all pass. The 162 cmd/commands tests for autoinstall, relocate, ci-bootstrap, template info, gofmt, package size, cron and golden pass. The full cmd/commands run hit the 600s timeout, so I ran those tests by name instead. Head is now bb814bf. |
This commit adds only a regression test for openArchive, verifyChecksumSum and extractTarGzFrom, which were already fixed on origin/main in commit 4628857 (D-1326). The debt row resolution should point at that earlier commit; this test pins the contract so future refactors cannot regress it.
Move autoInstallCached, autoInstallRecord, autoInstallBinaryName, and readInstalledVersion into internal/plugin/autoinstall so cmd/commands stays under its package-size ceiling. Limit the offline template info path in runTemplateInfo to multi-app only, restoring the pre-PR scope that TestTemplateInfoBundledOffline expects. Update the repoqa allowlist for the pre-existing internal/plugin growth from archive_snapshot_test.go.
|
Rebased onto origin/main (86627b8) to clear the merge conflict. One conflict, in .github/facts.json (generated). Took main's copy mid-rebase and regenerated it with tools/facts, so the last commit carries the refreshed file. Checks after the rebase: go build ./..., go vet, gofmt clean. Tests pass for internal/plugin/..., maintenance, config, build, pluginname, repoqa and tools/facts (2855 tests). The 156 targeted cmd/commands tests (autoinstall, relocate, ci-bootstrap, template info, gofmt, package size, cron, golden, facts) pass. The full cmd/commands run was not repeated because it exceeds the timeout. |
- archive_snapshot_test: verify against the real expected SHA-256 of the original archive bytes instead of comparing the sum with itself. - entitlement_timer: guard cron self-removal with 'command -v flock' so hosts without flock still drop the stale line instead of failing silently and running forever. - Update golden fixture and flock test stubs to match the guarded shell shape.
|
Review fixes pushed in 361592f:
|
|
Fixed gofmt formatting in internal/maintenance/entitlement_timer.go (renderCron). scripts/ci/gofmt-check.sh and internal/repoqa TestGofmtClean both pass. Pushed as 6dc5a3d. |
|
Removed the unused |
Fix six verified debt rows from fresh
origin/main(68dc16a0), with one commit per row.test -e); update the guard contract and golden fixtures. Serialize entitlement publication and use transactional replacement when host inspection proves the file is unmounted. Preserve mounted inodes, or preserve them conservatively if inspection is unavailable. Supply host inspection from the CLI entry point through the Docker funnel without increasing its importer budget.origin/main(openArchiveandextractTarGzFromexist); this PR only pins the contract with a non-vacuous checksum assertion inarchive_snapshot_test.go.next_stepsin the normal lifecycle and template-info handlers, including JSON. Remove both RunE wrappers. Refresh affected JSON schemas, OpenAPI, MCP goldens, and generated TypeScript types.AUTH_JWT_CUSTOM_CLAIMSand recognize the fullAUTH_/HASURA_AUTH_namespaces already accepted by compose passthrough. Remove the multi-app template'sENV_ALLOWLISTworkaround and update the config-list golden.All six problems reproduced against the original source. Clean-main regression comparisons fail for concurrent cron updates, non-executable-but-present binaries, concurrent entitlement publication, archive-path replacement, unreceipted CI binaries, manifest steps, expired certificate staging, and auth warnings; corresponding checks pass with these changes. Archive comparison uses the original path-based verification/extraction entry points on the baseline and the snapshot entry points after the fix.
Validation:
go test -mod=vendor ./internal/repoqa ./internal/maintenance ./internal/license/entitlement ./internal/config ./internal/templates/clone ./internal/build ./internal/plugin ./internal/docker -count=1 -timeout 3mgo test -mod=vendor ./cmd/commands ./internal/mcpgen -count=1 -timeout 5m(whole command and MCP packages).go test -race -mod=vendorchecks for concurrent cron installation, the presence guard, serialized entitlement writes, and atomic unmounted refresh.go vet -mod=vendorfor all touched Go implementation packages;go build -mod=vendor -o <scratch>/nself ./cmd/nself;bash scripts/ci/gofmt-check.shandgo test -mod=vendor ./internal/repoqa -run TestGofmtClean(both re-run at head3697c74baftergofmt -woncmd/commands/relocate.go,plugin_autoinstall.goandci_bootstrap_test.go; the earlier head failed both);git diff --check.GOTOOLCHAIN=go1.26.10,run --timeout=5mover all touched Go implementation packages (0 issues). The default worker Go 1.27.3 is incompatible with this linter's export-data reader, also reproduced on clean main; using the repository-pinned toolchain resolves that tool mismatch.go test -mod=vendor ./internal/mcpgen -run '^TestToolListGolden$' -update.npx --yes pnpm@9 install --frozen-lockfile,npx --yes pnpm@9 run typecheck, andTZ=America/New_York npx --yes pnpm@9 test -- --testPathIgnorePatterns live(24 tests).NO_COLOR=1:TestLoadRemoteDeployDropsEnvLocal,TestRemoteLoadLeavesNoState, andTestLoadValidateConfig_RemoteDeployDropsEnvLocal. The same three failures reproduce on cleanorigin/mainwithNSELF_V15=1. Focused v1.5 command checks (TestCIBootstrap|TestAutoInstall|TestTemplate|TestPilotJSONConfig|TestMCPGeneratedStdio) pass.No Docker daemon, production writes, release/version changes, or HQ edits. No repository instruction files or active hooks were present.