fix(lint): add yaml:"-" tags to EmailConfig and fix test godoc/misspell

- EmailConfig fields reachable via ChannelsConfig.Email (yaml:"email,omitempty")
  were missing yaml tags, causing musttag linter failures in security.go
- resolve_key_sushi30_test.go: add blank line before package decl to prevent
  godoclint "more than one godoc" error; fix British "initialised" → "initialized"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
github-actions[bot] 2026-03-31 10:33:28 +02:00
parent 603e01dec6
commit b8835ca2b4
2 changed files with 16 additions and 15 deletions

View file

@ -599,23 +599,23 @@ type TeamsWebhookTarget struct {
} }
type EmailConfig struct { type EmailConfig struct {
Enabled bool `json:"enabled" env:"PICOCLAW_CHANNELS_EMAIL_ENABLED"` Enabled bool `json:"enabled" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_ENABLED"`
// SMTP (outbound) // SMTP (outbound)
SMTPHost string `json:"smtp_host" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_HOST"` SMTPHost string `json:"smtp_host" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_HOST"`
SMTPPort int `json:"smtp_port" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_PORT"` SMTPPort int `json:"smtp_port" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_PORT"`
SMTPFrom string `json:"smtp_from" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_FROM"` SMTPFrom string `json:"smtp_from" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_FROM"`
SMTPUser string `json:"smtp_user" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_USER"` SMTPUser string `json:"smtp_user" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_USER"`
SMTPPassword SecureString `json:"smtp_password,omitzero" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_PASSWORD" yaml:"smtp_password,omitempty"` SMTPPassword SecureString `json:"smtp_password,omitzero" yaml:"smtp_password,omitempty" env:"PICOCLAW_CHANNELS_EMAIL_SMTP_PASSWORD"`
DefaultSubject string `json:"default_subject" env:"PICOCLAW_CHANNELS_EMAIL_DEFAULT_SUBJECT"` DefaultSubject string `json:"default_subject" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_DEFAULT_SUBJECT"`
// IMAP (inbound) // IMAP (inbound)
IMAPHost string `json:"imap_host" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_HOST"` IMAPHost string `json:"imap_host" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_HOST"`
IMAPPort int `json:"imap_port" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_PORT"` IMAPPort int `json:"imap_port" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_PORT"`
IMAPUser string `json:"imap_user" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_USER"` IMAPUser string `json:"imap_user" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_USER"`
IMAPPassword SecureString `json:"imap_password,omitzero" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_PASSWORD" yaml:"imap_password,omitempty"` IMAPPassword SecureString `json:"imap_password,omitzero" yaml:"imap_password,omitempty" env:"PICOCLAW_CHANNELS_EMAIL_IMAP_PASSWORD"`
PollIntervalSecs int `json:"poll_interval_secs" env:"PICOCLAW_CHANNELS_EMAIL_POLL_INTERVAL_SECS"` PollIntervalSecs int `json:"poll_interval_secs" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_POLL_INTERVAL_SECS"`
// Common // Common
AllowFrom FlexibleStringSlice `json:"allow_from" env:"PICOCLAW_CHANNELS_EMAIL_ALLOW_FROM"` AllowFrom FlexibleStringSlice `json:"allow_from" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_ALLOW_FROM"`
ReasoningChannelID string `json:"reasoning_channel_id" env:"PICOCLAW_CHANNELS_EMAIL_REASONING_CHANNEL_ID"` ReasoningChannelID string `json:"reasoning_channel_id" yaml:"-" env:"PICOCLAW_CHANNELS_EMAIL_REASONING_CHANNEL_ID"`
} }
type HeartbeatConfig struct { type HeartbeatConfig struct {

View file

@ -8,6 +8,7 @@
// Fix: pkg/config/config_struct.go resolveKey() now also dispatches env://. // Fix: pkg/config/config_struct.go resolveKey() now also dispatches env://.
// These tests guard against that regression being re-introduced by a future // These tests guard against that regression being re-introduced by a future
// upstream merge or rebase. // upstream merge or rebase.
package config package config
import ( import (
@ -16,7 +17,7 @@ import (
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
) )
// TestResolveKey_EnvScheme verifies that a SecureString initialised with an // TestResolveKey_EnvScheme verifies that a SecureString initialized with an
// env:// reference resolves to the environment variable value, not the raw // env:// reference resolves to the environment variable value, not the raw
// reference string. // reference string.
func TestResolveKey_EnvScheme(t *testing.T) { func TestResolveKey_EnvScheme(t *testing.T) {