Skip to content

feat(service): add Gmail service#1017

Open
tmchow wants to merge 2 commits into
nikoksr:mainfrom
tmchow:feat/gmail-service
Open

feat(service): add Gmail service#1017
tmchow wants to merge 2 commits into
nikoksr:mainfrom
tmchow:feat/gmail-service

Conversation

@tmchow
Copy link
Copy Markdown

@tmchow tmchow commented Apr 5, 2026

Adds a Gmail notification service using the Google Gmail API (google.golang.org/api/gmail/v1).

Sends emails via the Gmail API with OAuth2 authentication. Each recipient gets a separate email with the subject and message body.

Follows the same pattern as existing services: client setup via New(), AddReceivers() for email addresses, and Send() for dispatching messages.

Files added:

  • service/gmail/gmail.go
  • service/gmail/doc.go
  • service/gmail/usage.md

Closes #417

This contribution was developed with AI assistance (Codex).

Compound Engineering

…bility

The go.mod was bumped to go 1.25.0 with google.golang.org/api v0.274.0
during local development (Go 1.26.1), but the CI linter (golangci-lint
v2.7.2, built with Go 1.25) panics when encountering source files
requiring go1.26 in the transitive dependency tree.

Reverting to go 1.24.0 with API v0.265.0 (matching upstream) resolves
the linter panic while keeping the Gmail service fully functional.
@tmchow
Copy link
Copy Markdown
Author

tmchow commented Apr 6, 2026

The lint failure here isn't from this PR. All 5 open PRs (#1014-#1018) are hitting the same panic:

panic: file requires newer Go version go1.26 (application built with go1.25)                                                                                                        
go-version: stable now resolves to Go 1.26.1, but golangci-lint v2.7.2 in the CI was built with Go 1.25. The linter panics when type-checking source files fetched by Go 1.26.      

Fix is either bumping golangci-lint to v2.11+ (built with go1.26) or pinning go-version: "1.25.x" in ci.yml, but out of scope for this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(service): Add GMail service

1 participant