Skip to content

Sync examples for the Goa v3.31.0 generation upgrade - #219

Merged
raphael merged 29 commits into
mainfrom
fix/goa-generation-plan
Sep 16, 2026
Merged

raphael merged 29 commits into
mainfrom
fix/goa-generation-plan

Conversation

@raphael

@raphael raphael commented Sep 16, 2026

Copy link
Copy Markdown
Member

The examples now use the generation changes being promoted in goadesign/goa#3971. All 19 Go modules pin the reviewed Goa candidate, and generated packages and handwritten callers are updated together. This prepares main for the coordinated v3.31.0 release; the release workflow will replace the candidate pins with the stable tag.

Multipart implementations now populate generated request bodies before Goa validates and constructs service payloads. Interceptors accept the generated read-only information interfaces. Commands use the new execution helpers, and protobuf and HTTP code use the selected views, field-presence rules, and final generated names. The HTTP-status example selects tagged responses explicitly while keeping one default response.

The examples retain their useful custom behavior: the error example demonstrates a custom validation response while preserving the designed divide-by-zero body; CBOR uses the documented transport codec; and streaming loops stop when their input closes. The tus example reads Content-Type from its typed payload and removes resumable state when an upload is terminated, including completed uploads.

The stable branch's dependency updates are included. The README links to the Goa upgrade guide and states the existing Go 1.26 requirement. Applications copying these examples must use matching Goa versions and regenerate the complete generated tree. Update handwritten multipart, interceptor, and command code rather than mixing old and new generated files. Coordinate client/server deployment for the changed exchanges listed in the upgrade guide. Rollback restores the old dependency, generated tree, and matching handwritten callers; no repository data migration is required.

Validation: every module was built and tested against Goa commit f03a5d261cc4f010b02595febcb7eb4c33fbbeb3. Generation, lint, and tests pass for all examples with Makefiles; the HTTP-status example was regenerated and tested, and the tracing command module was tested against its referenced example packages. The tus termination test covers both active and completed uploads. CI must pass before merge.

Review the multipart and interceptor implementations, HTTP-status design, tus design/implementation/test, and command changes alongside their generated signatures. Generated files were regenerated with Goa, not edited by hand.

raphael added 29 commits August 23, 2026 20:40
@raphael
raphael merged commit 20010ba into main Sep 16, 2026
5 checks passed
@raphael
raphael deleted the fix/goa-generation-plan branch September 16, 2026 07:23
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.

1 participant