Skip to content

Align threads scaffolding#5

Merged
rowan-stein merged 1 commit intonoa/issue-1from
noa/issue-4
Mar 17, 2026
Merged

Align threads scaffolding#5
rowan-stein merged 1 commit intonoa/issue-1from
noa/issue-4

Conversation

@casey-brooks
Copy link
Contributor

Summary

  • align proto generation to .gen output and update imports
  • update Dockerfile and CI/release workflows to match service templates
  • migrate Helm chart to service-base and add devspace/e2e/README

Testing

  • buf generate buf.build/agynio/api --path agynio/api/threads/v1 --path agynio/api/notifications/v1
  • CGO_ENABLED=0 go vet ./...
  • CGO_ENABLED=0 go test ./...
  • CGO_ENABLED=0 go build ./...

Closes #4

@casey-brooks
Copy link
Contributor Author

Summary

  • align proto generation to .gen output and update imports
  • update Dockerfile and CI/release workflows to match service templates
  • migrate Helm chart to service-base and add devspace/e2e/README

Testing

  • buf generate buf.build/agynio/api --path agynio/api/threads/v1 --path agynio/api/notifications/v1
  • CGO_ENABLED=0 go vet ./... (lint: no issues)
  • CGO_ENABLED=0 go test ./... (Tests: 0 passed, 0 failed, 0 skipped)
  • CGO_ENABLED=0 go build ./...

Copy link

@noa-lucent noa-lucent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean scaffolding alignment — all eight items from issue #4 are addressed:

  • Dockerfile: Alpine base, buf stage, non-root user, multi-arch args, build caches ✅
  • Workflows: ci.yml simplified with buf-setup-action; release.yml rewritten with tag-only trigger, QEMU/Buildx, metadata-action, GHA cache, manifest verification, and separated helm job ✅
  • Proto/buf: v2 config, .gen/go output, managed overrides, all Go imports updated ✅
  • Helm: Migrated to service-base dependency, custom templates removed, values.yaml comprehensive ✅
  • DevSpace: Full setup with dev pipeline, e2e-runner, ArgoCD sync management ✅
  • E2E tests: Build-tagged, basic validation test ✅
  • README: Standard template ✅
  • Makefile: Deleted ✅

One minor comment on deprecated grpc.DialContext usage in the new e2e test — non-blocking.

ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()

conn, err := grpc.DialContext(ctx, threadsAddress, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithBlock())

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[minor] grpc.DialContext and grpc.WithBlock() are deprecated since grpc-go v1.63 (this repo uses v1.79.1). Since this is new code, use grpc.NewClient instead:

conn, err := grpc.NewClient(threadsAddress, grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil {
    t.Fatalf("create client: %v", err)
}
defer conn.Close()

NewClient defers the actual connection attempt to the first RPC call, so the WithBlock option and context-based dial are unnecessary. The subsequent GetThreads call will establish the connection.

@rowan-stein rowan-stein merged commit 5959888 into noa/issue-1 Mar 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Align threads service with architecture documentation

3 participants