Issue: Add unit tests for resolveBuilder in cmd/ci/config.go
Summary
The unexported resolveBuilder function in cmd/ci/config.go has
zero test coverage. It contains non-trivial branching logic that
selects the correct build strategy (host, pack, or s2i) for
each supported runtime × local/remote combination.
Motivation
resolveBuilder drives which build tool is injected into the generated
GitHub Actions workflow. A regression here silently produces wrong CI
workflows — broken builds, wrong builders, or undetected unsupported runtimes.
- Trivial one-liner getter/accessor methods do not need tests — they
only verify Go's struct field assignment, not any real logic.
- The fix is pure value-add: no mocks, no cluster, no network needed.
Proposed Change
Add a new file cmd/ci/config_test.go (package ci) with a single
focused, table-driven test:
| Sub-case |
Expected builder |
go + local |
host |
go + remote |
pack |
node, typescript, rust, quarkus, springboot (any) |
pack |
python + local |
host |
python + remote |
s2i |
| unknown runtime |
error |
Affected Files
- New:
cmd/ci/config_test.go
Labels
kind/test, good first issue
Issue: Add unit tests for
resolveBuilderincmd/ci/config.goSummary
The unexported
resolveBuilderfunction incmd/ci/config.gohaszero test coverage. It contains non-trivial branching logic that
selects the correct build strategy (
host,pack, ors2i) foreach supported runtime × local/remote combination.
Motivation
resolveBuilderdrives which build tool is injected into the generatedGitHub Actions workflow. A regression here silently produces wrong CI
workflows — broken builds, wrong builders, or undetected unsupported runtimes.
only verify Go's struct field assignment, not any real logic.
Proposed Change
Add a new file
cmd/ci/config_test.go(package ci) with a singlefocused, table-driven test:
go+ localhostgo+ remotepacknode,typescript,rust,quarkus,springboot(any)packpython+ localhostpython+ remotes2iAffected Files
cmd/ci/config_test.goLabels
kind/test,good first issue