FMG-2: upgrade Go to 1.27.1, refresh dependencies and drop gotoolkit #7

Closed
fmartingr wants to merge 2 commits from agent/full-stack-developer/92dd9c7e35da into main

2026-09-07

ci: use the goreleaser from the CI image instead of goreleaser-action
All checks were successful
CI / goreleaser-lint (pull_request) Successful in 5s
CI / format (pull_request) Successful in 1m22s
CI / lint (pull_request) Successful in 3m37s
CI / test (pull_request) Successful in 3m32s
CI / build (pull_request) Successful in 5m24s
goreleaser-action v7.1.0 made cosign signature verification of its own
download mandatory, and ci-base ships no cosign — the goreleaser-lint
job failed on the v6.4.0 -> v7.2.3 bump.

The action was redundant anyway: ci-base already installs goreleaser
from the upstream apt repo, which is what `make build` has always used.
Both workflows now call it directly, and `goreleaser check` moves behind
a `make check` target so every CI job runs a make target.

Co-authored-by: multica-agent <github@multica.ai>
2026-09-07 16:54:09 +00:00
deps: upgrade Go to 1.27.1, refresh dependencies and drop gotoolkit
Some checks failed
CI / goreleaser-lint (pull_request) Failing after 37s
CI / format (pull_request) Successful in 1m20s
CI / test (pull_request) Successful in 2m36s
CI / lint (pull_request) Successful in 3m34s
CI / build (pull_request) Has been cancelled
Replaces the gotoolkit helpers with the standard library and the
libraries they wrapped:

- gotoolkit/encoding TOML wrapper -> pelletier/go-toml/v2 directly,
  behind a new smtp2shoutrrr.LoadConfig shared by both commands.
- gotoolkit/service + gotoolkit/model.Server -> signal.NotifyContext
  and a concrete *Server whose Start shuts the listener down
  gracefully when its context is cancelled.

Also drops the unused ANONYMOUS SASL client from cmd/sendmail, bumps
alpine, golangci-lint and the CI actions, and adds coverage for config
loading and the server lifecycle.

Closes FMG-2

Co-authored-by: multica-agent <github@multica.ai>
2026-09-07 16:28:11 +00:00