feat: update Go 1.26.2, bump all deps, fix mailing list service v0.4.7#60
Conversation
Update go.mod to Go 1.26.2 and run go get -u on all dependencies. Adapt to the mailing-list-service v0.4.7 rewrite (Grpsio→Groupsio rename, wrapper-struct removal, UID→ServiceID/SubgroupID/MemberID field renames, settings endpoints removed, 6 new endpoints added). Add 4 new committee-service document endpoints (v0.2.29). Move otel/trace to direct dependency. Align markdown tables with MegaLinter markdownlint, add megalinter Makefile target, and shfmt-format shell scripts. ARCH-388 🤖 Generated with [GitHub Copilot](https://github.com/features/copilot) (via OpenCode) Signed-off-by: Eric Searcy <eric@linuxfoundation.org>
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
There was a problem hiding this comment.
Pull request overview
Updates the repository’s Go toolchain and dependency set, adapts the MCP server’s generated clients/tool handlers to upstream service API changes (notably the mailing-list-service v0.4.7 rewrite and new committee-service document endpoints), and aligns repo docs/scripts with linting/formatting rules.
Changes:
- Bump Go to 1.26.2 and update dependencies (incl. OpenTelemetry + LFX v2 service clients).
- Update mailing list tooling/client initialization for the Groups.io API rewrite (renames + payload/field changes, removed settings endpoints).
- Add local lint workflow (
make megalinter) and reformat docs/scripts to satisfy MegaLinter/markdownlint/shfmt.
Reviewed changes
Copilot reviewed 8 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/test_server.sh | shfmt formatting changes. |
| scripts/test_prm.sh | shfmt formatting changes. |
| scripts/test_oauth_flow.sh | shfmt formatting changes. |
| scripts/test_oauth_config.sh | shfmt formatting changes. |
| README.md | Markdown table/code-fence formatting updates (plus tooling docs touched). |
| Makefile | Adds megalinter target for local Docker-based linting. |
| internal/tools/mailing_list.go | Adapts mailing list tools to new Groups.io API shapes and ID semantics. |
| internal/lfxv2/client.go | Updates generated service client initialization; adds committee doc endpoints and new mailing list endpoints. |
| go.mod | Go version bump and dependency version updates (incl. direct otel/trace). |
| go.sum | Dependency checksum updates corresponding to bumped modules. |
| docs/service-api-architecture.md | Markdown table formatting adjustments. |
| DEVELOPER.md | Markdown table formatting adjustments. |
| AGENTS.md | Markdown table formatting adjustments. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if args.MailingListUID != "" { | ||
| tags = append(tags, fmt.Sprintf("mailing_list_uid:%s", args.MailingListUID)) | ||
| if args.MailingListID != "" { | ||
| tags = append(tags, fmt.Sprintf("mailing_list_uid:%s", args.MailingListID)) |
There was a problem hiding this comment.
In search_mailing_list_members, the tag filter key is still mailing_list_uid even though the input argument was renamed to mailing_list_id (Groups.io numeric group ID). This mismatch is likely to break filtering (or at least makes the filter semantics unclear). Update the tag key to match the new field name used by the indexer (e.g., mailing_list_id / subgroup_id) so the query service filter stays consistent with the tool args and logging.
| tags = append(tags, fmt.Sprintf("mailing_list_uid:%s", args.MailingListID)) | |
| tags = append(tags, fmt.Sprintf("mailing_list_id:%s", args.MailingListID)) |
| | Tool | Description | | ||
| |-------------------------------|----------------------------------------------------------------| | ||
| | `search_mailing_lists` | Search for mailing lists by name; optionally filter by project | | ||
| | `get_mailing_list` | Get a mailing list's base info and settings by UID | | ||
| | `get_mailing_list_service` | Get a mailing list service's base info and settings by UID | | ||
| | `search_mailing_list_members` | Search mailing list members; filter by list, project, or name | | ||
| | `get_mailing_list_member` | Get a specific mailing list member by list and member UID | |
There was a problem hiding this comment.
The Mailing Lists tool descriptions still refer to UIDs and “settings”, but the implementation now uses Groups.io numeric IDs (id, mailing_list_id, member_id) and the upstream settings endpoints were removed. Update these rows to reflect the new required parameters / terminology so readers don’t call the tools with the old UID-based inputs.
| | Tool | Description | | |
| |-------------------------------|----------------------------------------------------------------| | |
| | `search_mailing_lists` | Search for mailing lists by name; optionally filter by project | | |
| | `get_mailing_list` | Get a mailing list's base info and settings by UID | | |
| | `get_mailing_list_service` | Get a mailing list service's base info and settings by UID | | |
| | `search_mailing_list_members` | Search mailing list members; filter by list, project, or name | | |
| | `get_mailing_list_member` | Get a specific mailing list member by list and member UID | | |
| | Tool | Description | | |
| |-------------------------------|------------------------------------------------------------------------| | |
| | `search_mailing_lists` | Search for mailing lists by name; optionally filter by project | | |
| | `get_mailing_list` | Get a mailing list's base info by numeric `id` | | |
| | `get_mailing_list_service` | Get a mailing list service's base info by numeric `id` | | |
| | `search_mailing_list_members` | Search mailing list members; filter by mailing list, project, or name | | |
| | `get_mailing_list_member` | Get a specific mailing list member by `mailing_list_id` and `member_id` | |
Summary
go.modto Go 1.26.2 and bump all dependencies viago get -uGrpsio→Groupsiorename, wrapper-struct removal,UID→ServiceID/SubgroupID/MemberIDfield renames, settings endpoints removed, 6 new endpoints addedotel/traceto direct dependencymegalinterMakefile target for local Docker-based lintingshfmtDetails
Mailing list service v0.4.7
The upstream mailing-list-service was completely rewritten from a bespoke Goa service to a thin ITX proxy (PRs #36 and #38 in
linuxfoundation/lfx-v2-mailing-list-service). Key changes affecting this repo:Grpsio*methods/types renamed toGroupsio*UID→ServiceID/SubgroupID/MemberIDThe three affected tool handlers (
handleGetMailingListService,handleGetMailingList,handleGetMailingListMember) were updated to compile and work correctly against the new API types. Tool descriptions were updated to reflect Groups.io numeric IDs where applicable.Committee service v0.2.29
4 new document endpoints added to client initialization:
UploadCommitteeDocument,GetCommitteeDocument,DownloadCommitteeDocument,DeleteCommitteeDocument.Lint / formatting
AGENTS.md,DEVELOPER.md,README.md, anddocs/service-api-architecture.mdreformatted to satisfy markdownlint'sMD056rule (consistent column widths)README.mdbare code fence changed to```textscripts/reformatted withshfmtARCH-388
🤖 Generated with GitHub Copilot (via OpenCode)