You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TypeSpec green field services.
This is currently supported by all four languages (.NET, Java, Python, JS).
Add the support for Go language.
TypeSpec brown field services.
Generation strategy to handle the existing customized SDK code:
option 1: keep the existing customized SDK code and generate the SDK code based on TypeSpec specs.
If the customized SDK code is not compatible with the new specs, the generation should fail in the build/compile step providing the comprehensive error message, such as "The SDK has customized SDK code and might not be compatible with the new specs, the service team may need to update the customized code or the new specs."
option 2: remove the existing customized code then generate the SDK code from scratch based on the TypeSpec specs
Service group with a mix of service using TypeSpec and service using the Swagger.
The prerequisite is each service must have individual SDK package.
The content you are editing has changed. Please copy your edits and refresh the page.
2. Define the Required Steps
There are a bunch of steps to be executed during the SDK generation process. Take .NET for example, it includes the following steps:
Environment setup
SDK generation
SDK code building, which include test/sample code building
SDK code packing
API export
Breaking change validation
API View generating
Any failure of the above steps would cause the SDK generation CI check fail. We will need to identify the required steps to run in the spec pull request phase for each SDK language. It's important to note that the required steps may vary across languages, as the requirement could differ from one language to another.
The content you are editing has changed. Please copy your edits and refresh the page.
4. tsp-client adoption
Adopt tsp-client to replace the common powershell script to interact with tsp-config.yaml, fetch the TypeSpec specs, and run TypeSpec language emitters.
This could improve the logging experience for the steps tsp-client tool covers.
The content you are editing has changed. Please copy your edits and refresh the page.
5. Logging Improvement
Refine the error logs to enhance clarity and conciseness, provide guidance on corrective actions, and include relevant document links as necessary. The logging should include three parts information if possible.
error code or error message
next steps or suggested actions
associated document links if have
The content you are editing has changed. Please copy your edits and refresh the page.
All of the linked tasks have been completed except for the one to add how-to-fix suggestions for .NET. I will close this EPIC and track that in API to SDK automation board separately.
Overview
This issue is created to track all the work items related to the Enhancements-to-SDK-Automation specification.
1. Support Scenarios
TypeSpec
green field services.This is currently supported by all four languages (.NET, Java, Python, JS).
Add the support for Go language.
TypeSpec
brown field services.Generation strategy to handle the existing customized SDK code:
TypeSpec
specs.If the customized SDK code is not compatible with the new specs, the generation should fail in the build/compile step providing the comprehensive error message, such as "The SDK has customized SDK code and might not be compatible with the new specs, the service team may need to update the customized code or the new specs."
TypeSpec
specsTypeSpec
and service using theSwagger
.The prerequisite is each service must have individual SDK package.
Tasks
2. Define the Required Steps
There are a bunch of steps to be executed during the SDK generation process. Take .NET for example, it includes the following steps:
Any failure of the above steps would cause the SDK generation CI check fail. We will need to identify the required steps to run in the spec pull request phase for each SDK language. It's important to note that the required steps may vary across languages, as the requirement could differ from one language to another.
Tasks
3. Breaking Change Detection
The automation should be able to detect the breaking changes against SDK API level.
Tasks
4.
tsp-client
adoptionAdopt
tsp-client
to replace the common powershell script to interact withtsp-config.yaml
, fetch theTypeSpec
specs, and runTypeSpec
language emitters.This could improve the logging experience for the steps
tsp-client
tool covers.Tasks
tsp-client
in automation script #8047tsp-client
in automation script #8048tsp-client
in automation script #8049tsp-client
in automation script #80505. Logging Improvement
Refine the error logs to enhance clarity and conciseness, provide guidance on corrective actions, and include relevant document links as necessary. The logging should include three parts information if possible.
Tasks
6. Bugs identified
Tasks
SDK $(sdkName)
is stuckin progress
when AutoRest config (README.md) does not define any language SDKs #72357. Documentation
Provide documentation of error definitions and suggestions for the fixes for each language and the common SDK automation framework.
8. Additional Tasks
Tasks
The text was updated successfully, but these errors were encountered: