The docker, podman and kubernetes runtimes started the builder container with
a sigma-builder binary, but the builder image only ships the sigma binary, so
the container failed with "executable file not found in $PATH". Run
"sigma builder" instead, and skip the YAML config load for that subcommand:
the builder takes every input from the environment and the image has no sigma
config file.
The kubernetes runtime also uses the configured builder image now instead of a
hardcoded one.
Verification:
- go build ./cmd/... ./pkg/background/build/...
- go test ./pkg/background/build/runtime/docker/...
"Deactive" is not a valid English word; the standard antonym of "Active"
is "Inactive". Restore the enum value, regenerate the go-enum output,
update the CLI test expectation, sync the generated swagger enum and
x-enum-varnames, and fix the web UI request payload and label.
Note: persisted rows and API clients using the old "Deactive" value must
switch to "Inactive"; no data migration is included.
Verification:
- go build -tags "netgo,timetzdata,exclude_graphdriver_btrfs,containers_image_openpgp" ./...
- go vet -tags "netgo,timetzdata,exclude_graphdriver_btrfs,containers_image_openpgp" ./pkg/api/enums/... ./cmd/cli/...
- CI_DATABASE_TYPE=turso go test -tags "netgo,timetzdata,exclude_graphdriver_btrfs,containers_image_openpgp" ./pkg/server/validators/...
Rename the UserStatus enum value Inactive to Deactive, regenerate the
go-enum output, update the CLI test expectation and sync the generated
swagger enum and x-enum-varnames.
Verification:
- go build -tags "netgo,timetzdata,exclude_graphdriver_btrfs,containers_image_openpgp" ./...
- go test -tags "..." ./cmd/cli/... ./pkg/server/validators/...
Replace every `// <Identifier> ...` placeholder doc comment with a real
description of the declared symbol. 276 comments in 71 files were rewritten:
149 top-level placeholders first, then a follow-up scan caught another 127
indented ones (interface methods and const blocks) that a column-anchored
match had missed.
Comments now open with the declared identifier and record the actual
contract - behaviour, side effects, error/panic conditions, units, HTTP
endpoints, lock keys and cache prefixes - instead of restating the
signature. Three placeholders carried a stale identifier and were corrected
to the declared symbol: ConfigurationDatabasePostgresql, GetImageRef and
Initialize.
No functional change: every modified line is a comment.
Verification:
- grep '^\s*//\s+\S+\s+\.\.\.\s*$' over all *.go returns no matches
- gofmt -l over the changed files prints nothing
- CGO_ENABLED=1 go build -tags "netgo,timetzdata,exclude_graphdriver_btrfs,containers_image_openpgp" ./... exits 0
- git diff HEAD -U0 filtered to non-comment changed lines is empty
Replace all usages of standard encoding/json with encoding/json/v2 and jsontext
where applicable, update decoding logic to use json.UnmarshalRead and
json.MarshalWrite instead of manual encoder/decoder instances.
Verification:
go test -race ./pkg/... ./cmd/...
This commit restructures the build-related code from the old `buildrunner` package into a more modular `build` hierarchy:
1. Moved build runtime implementations to `pkg/background/build/runtime/` with support for docker, kubernetes, and podman backends
2. Created dedicated build logging system with database and OBS object storage implementations
3. Added build coordinator to handle shared runner state management and log storage
4. Updated all imports and usages across the codebase to use the new package structure
5. Bumped GitHub Pages deployment actions to v5
6. Added comprehensive test coverage for the new build runtime and coordinator components
The refactor improves maintainability by separating concerns:
- Runtime drivers handle low-level container/pod orchestration
- Logging package handles persistent build log storage
- Coordinator centralizes common build runner state operations
Convert service constructors into dig provider functions and let the service
bootstrap layer call Provide directly. This keeps dig container usage at the
composition boundary instead of passing the container into each service package.
Register API handlers explicitly from the handlers package and remove the blank
imports that previously triggered handler init functions from cmd/imports.go.
Handler packages now expose Initialize functions that are invoked by the root
handler registration flow.
Also update related tests and document the analytics service interface methods.
Verification:
go test -tags "netgo,timetzdata,exclude_graphdriver_btrfs,containers_image_openpgp" ./pkg/service/... ./pkg/app/bootstrap
go test -tags "netgo,timetzdata,exclude_graphdriver_btrfs,containers_image_openpgp" ./pkg/server/handlers/... ./pkg/app/server ./pkg/app/distribution ./cmd/...