[bug-0zkpwxbsdxcn] Own canonical offline private Go module tooling #2

Merged
dfritz merged 7 commits from architect/bug-0zkpwxbsdxcn/private-module-tooling into main 2026-09-09 02:15:55 +00:00
3 changed files with 22 additions and 1 deletions
Showing only changes of commit c9bd31a6e9 - Show all commits
+1 -1
View File
@@ -11,4 +11,4 @@ jobs:
- name: Canonical export and native offline boundaries
run: |
python3 -m unittest discover -s tests
CGO_ENABLED=1 GO111MODULE=off GOTOOLCHAIN=local GOFLAGS= go test -race ./tools/private-modules
docker build --network none --file tests/private-modules.Dockerfile tools/private-modules
+14
View File
@@ -96,6 +96,20 @@ input for public bases.
|---|---|
| `tag` | Numeric tag assigned (= `github.run_number`). |
## Private module contract validation
The private-module contract workflow runs its Go race tests in the digest-pinned
standard Go compiler image in `tests/private-modules.Dockerfile`. The Fritzlab
runner doesn't provide GCC. Only `tools/private-modules` enters that build context;
the test runs with networking and module downloads disabled. The public compiler
image must already be cached or obtainable through the existing image pull path.
This check doesn't publish an image or change runner configuration.
```sh
python3 -m unittest discover -s tests
docker build --network none --file tests/private-modules.Dockerfile tools/private-modules
```
## Smoke test patterns
Override entrypoint for a binary that expects no args:
+7
View File
@@ -0,0 +1,7 @@
FROM golang:1.27.0-trixie@sha256:df98008ecd2b0ecc9f0a94d1b07e3564a9c92b555369b33d9b5f60d0765b2db7
WORKDIR /contract
# The runner intentionally needn't provide a C compiler for this race check.
# The build context contains only the canonical Go tooling, without Git state.
COPY *.go ./
ENV CGO_ENABLED=1 GO111MODULE=off GOTOOLCHAIN=local GOFLAGS= GOPROXY=off GOSUMDB=off
RUN go test -race -count=1 ./