ci: verify portable public SDK builds - #34
Merged
Conversation
Collaborator
Author
|
Found a gate-integrity issue in The recipe runs @for target in $(PORTABLE_SDK_TARGETS); do \
GOOS=$${target%/*} GOARCH=$${target#*/} CGO_ENABLED=0 $(GO) build -mod=readonly $(PORTABLE_SDK_PACKAGES); \
doneA POSIX $ sh -c 'for t in first second; do if [ "$t" = first ]; then false; else true; fi; done; echo $?'
0Suggested fix: fail each iteration, e.g. Two smaller gaps worth considering:
|
This was referenced Aug 28, 2026
AlexStocks
force-pushed
the
codex/wp0-portable-sdk
branch
from
August 28, 2026 10:57
297fb67 to
eac7fbd
Compare
Merge the updated Make execution contract into the portable SDK branch, preserve the Base fixes, and reuse its real runMake harness for the portable matrix and fail-fast probes. Constraint: Preserve the current public package set, four Linux/macOS targets, CGO-disabled builds, and explicit per-iteration failure. Rejected: Rebase or force-push the shared PR branch while the base was changing. Confidence: Focused workflow tests, ten repeated portable target tests, go vet, and make portable-sdk pass on the resolved tree. Scope-risk: The resulting PR delta remains limited to the five portable SDK files relative to the new base. Tested: go test workflow and Make contract subset; go test portable tests count 10; go vet tools/release; make portable-sdk; git diff check. Not-tested: Full tools/release on Windows retains the pre-existing executable-mode failure; exact-head Linux CI will cover the merged commit. Co-authored-by: OmX <omx@oh-my-codex.dev>
Merge the 28-check green Make contract head, preserve its governance and test-file split, and move portable matrix verification into makefile_test.go while retaining the workflow topology assertion. Constraint: Preserve the six-file portable SDK delta relative to base and avoid reintroducing superseded workflow_test Make helpers. Rejected: Rebase or force-push while the stacked base was advancing. Confidence: Focused workflow and Make tests, ten repeated portable target tests, go vet, make portable-sdk, and the package/target/CGO mutant all produced the expected results. Scope-risk: The merge carries the stabilized base unchanged; the PR-specific delta remains README, master workflow, AGENTS, Makefile, makefile tests, and workflow topology tests. Tested: go test focused release contracts; go test portable tests count 10; go vet tools/release; make portable-sdk; git diff check; Base exact-head CI 28 of 28. Not-tested: Full tools/release on Windows retains the pre-existing executable-mode failure; exact-head Linux CI will verify the merged PR head. Co-authored-by: OmX <omx@oh-my-codex.dev>
Terminate helper-mode test binaries explicitly so coverage-instrumented harness output cannot enter Make command substitution during portable SDK contract probes. Constraint: Preserve the real Make execution matrix and the first-target failure mutant without adding a production-only test seam. Rejected: Lowering the coverage gate, skipping the portable tests under coverage, or replacing the behavioral test with source-text assertions. Confidence: The exact race-enabled atomic coverage probe failed before this change with multiple target patterns and passes after the helper exits explicitly. Scope-risk: Only the test helper termination path and its learned prevention rule change. Tested: race atomic coverage portable probe; focused release contracts; ten repeated portable tests; go vet tools/release; make portable-sdk; git diff check. Not-tested: Full tools/release remains platform-limited on Windows by the pre-existing executable-mode assertion; Linux exact-head CI will verify the repository-wide coverage job. Co-authored-by: OmX <omx@oh-my-codex.dev>
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
./api/...,./artifact/...,./client/...,./inference/...,./openapi/...,./source/..., and./trigger/...CGO_ENABLED=0for the existing supported Linux and macOS amd64/arm64 matrixportable-sdkCI job and workflow topology contractRationale
This is part of WP0-C in #3. A self-review found that the initial target list was incomplete and that the loop depended on shell fail-fast behavior. The exact submitted version now uses the same four-platform matrix as the repository's existing platform jobs, includes
openapiand all Artifact subpackages, and exits explicitly on each failed compilation.PR #35 provides a parallel
main-based implementation for the same work item. This PR remains a corrected stacked implementation.Behavior and compatibility
Validation
GOTOOLCHAIN=local GOFLAGS=-mod=readonly make portable-sdkmake portable-sdk PORTABLE_SDK_PACKAGES=./internal/sqlstore/sqlitevecfails as expected withCGO_ENABLED=0go test ./...make lint(0 issues)make checkmake check-generatedmake license-checkgo run github.com/rhysd/actionlint/cmd/actionlint@v1.7.12git diff --checkExact head validated:
eac7fbdc9dcf0c62e57a3f25d49d34cf9c195005.AI usage
Implemented with Codex assistance. The public package set and fail-fast behavior were self-reviewed and verified with the commands above.