-
Notifications
You must be signed in to change notification settings - Fork 2
Add go implementation #241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Maybe need to abandon PathCollision in favor of DuplicateField
This reverts commit a47b66f.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request adds Go language support to the Telepact ecosystem. The changes introduce a Go library implementation alongside existing Java, Python, and TypeScript libraries, including code generation capabilities, test infrastructure, and schema validation improvements.
Key Changes:
- Adds comprehensive Go library implementation with validation, type system, and code generation
- Integrates Go into the multi-language test harness for cross-language compatibility testing
- Updates CLI tooling to support Go code generation
- Improves schema validation error messages by introducing a new
DuplicateFielderror type - Updates release/deployment tooling to include Go library
Reviewed Changes
Copilot reviewed 178 out of 180 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tool/telepact_project_cli/telepact_project_cli/cli.py | Adds 'go' target to release targets and GitHub labels configuration |
| test/runner/schema/parse/schema.telepact.json | Adds new DuplicateField error type to validation schema |
| test/runner/parse_cases.py | Updates test cases to use new DuplicateField error instead of PathCollision |
| test/runner/Makefile | Adds Go test targets and build dependencies |
| test/lib/go/* | Complete Go test harness implementation including dispatcher and code generation handler |
| sdk/cli/tests/test_main.py | Adds test case for Go code generation |
| sdk/cli/tests/data/example1.telepact.json | Updates test schema field name |
| sdk/cli/telepact_cli/templates/go_all.j2 | New Jinja2 template for Go code generation |
| sdk/cli/telepact_cli/cli.py | Adds Go language support to codegen command with type conversion and identifier sanitization |
| lib//ParseStructFields. | Updates duplicate field detection to report DuplicateField instead of PathCollision |
| lib/go/* | Complete Go library implementation with types, validation, schema parsing, and code generation |
| poetry run python -m pytest -k test_client_server_case[ts-0] -s -vv | ||
|
|
||
| test-go: setup go | ||
| poetry run python -m pytest -k [go |
Copilot
AI
Nov 2, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pytest -k filter expression [go is incomplete and syntactically invalid. It should be go or a complete filter pattern like test_client_server_case[go-.
No description provided.