Compile packages for selected targets
This commit is contained in:
@@ -30,13 +30,24 @@ The optional `validation` object selects shared checks implemented by ReleaseKit
|
||||
`validation.go.race` enables the race detector for the single standard Go test
|
||||
suite. `validation.go.full_vet` runs a separate native `go vet` pass after that
|
||||
suite succeeds; ReleaseKit disables test-time vet for that suite to avoid
|
||||
running vet twice. When `full_vet` is omitted or false, the test command keeps
|
||||
its existing vet behavior. Both settings are independent. For example:
|
||||
running vet twice. `validation.go.compile_targets` is an ordered array of
|
||||
`GOOS/GOARCH` pairs. After tests and selected full vet pass, ReleaseKit compiles
|
||||
all packages for each target with cgo disabled. Each pair must include both
|
||||
components; the selected Go toolchain reports unsupported complete targets.
|
||||
This source compatibility check does not name or produce binaries, run a target
|
||||
executable, or create an artifact manifest. Omitted or empty `compile_targets`
|
||||
selects no package-compilation pass. When `full_vet` is omitted or false, the
|
||||
test command keeps its existing vet behavior. These settings are independent.
|
||||
For example:
|
||||
|
||||
```json
|
||||
{
|
||||
"product": "Example",
|
||||
"validation": {"go": {"race": true, "full_vet": true}}
|
||||
"validation": {"go": {
|
||||
"race": true,
|
||||
"full_vet": true,
|
||||
"compile_targets": ["linux/amd64", "linux/arm64"]
|
||||
}}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -52,8 +63,12 @@ The `check` and `publish` commands run one
|
||||
access disabled, adding `-race` when `validation.go.race` is true. When
|
||||
`validation.go.full_vet` is true, they add `-vet=off` to that test command and
|
||||
run native `go vet -mod=readonly ./...` after successful tests. They then run
|
||||
each configured `checks` command once, in order, as an additional product
|
||||
check. Selected-target builds run after shared validation and product checks.
|
||||
`go build -mod=readonly -o <os.DevNull> ./...` in static mode for each
|
||||
`validation.go.compile_targets` entry, in profile order. Compile failures use
|
||||
the `package-compile` identity and include the selected target. Configured
|
||||
`checks` commands run afterward, once each in order, as additional product
|
||||
checks. Artifact builds selected by the separate `build` setting run after
|
||||
shared validation and product checks.
|
||||
Do not repeat the standard suite or vet in `checks`; doing so repeats work. The
|
||||
`build` command uses the selected build settings and writes binaries to `dist` unless
|
||||
`--output` selects another path.
|
||||
|
||||
Reference in New Issue
Block a user