Skip to content
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

Release Mgmt. SDK from new TypeSpec by using MPG - Selenium #2013

Open
1 of 16 tasks
ArthurMa1978 opened this issue Dec 25, 2024 · 0 comments
Open
1 of 16 tasks

Release Mgmt. SDK from new TypeSpec by using MPG - Selenium #2013

ArthurMa1978 opened this issue Dec 25, 2024 · 0 comments
Assignees

Comments

@ArthurMa1978
Copy link
Member

ArthurMa1978 commented Dec 25, 2024

Strategy of Mgmt. SDK releases

  1. For Greenfield Services during Dt semester
    • Beta version of SDK: utilize MPG and release based on the TypeSpec directly.
    • Stable version of SDK: utilize Autorest CodeGen and release based on the Swagger spec that generates from TypeSpec.
  2. For Greenfield Services after Dt semester
    • Utilize MPG for both beta and stable release, and release based on the TypeSpec directly.
  3. For Brownfield Services during Dt semester
    • Once the spec is transitioned to TypeSpec, utilize Autorest CodeGen for both beta and stable release, and release based on the Swagger spec that generates from TypeSpec.
  4. For Brownfield Services after Dt semester
    • Once the spec is transitioned to TypeSpec, utilize MPG for both beta and stable release, and release based on the TypeSpec directly.

Regardless of whether it’s a beta or stable SDK release, we must ensure that Roundtrip Correctness is verified.

Roundtrip Correctness

  1. From an API spec perspective, Roundtrip Correctness refers to ensuring that the resulting OpenAPI document generated by the new TypeSpec is functionally equivalent to the original.
  2. From a CodeGen and SDK perspective, Roundtrip Correctness means that the generated SDK from the TypeSpec is functionally equivalent to the original SDK generated from the Swagger Spec. In other words, while breaking changes may be acceptable since the new TypeSpec is considered correct compared to the old Swagger spec.

Release Plan

First GA / Beta

Preview Give feedback
  1. external:mgmt
  2. external:mgmt
  3. external:mgmt
  4. external:mgmt
  5. external:mgmt
  6. external:mgmt
  7. external:mgmt

Brownfield case

Preview Give feedback
  1. external:mgmt
    pshao25
  2. external:mgmt
    pshao25
  3. external:mgmt
    pshao25
  4. external:mgmt
  5. external:mgmt
    pshao25
  6. external:mgmt
    pshao25
  7. external:mgmt
  8. external:mgmt
  9. needs-area
@ArthurMa1978 ArthurMa1978 self-assigned this Dec 25, 2024
@ArthurMa1978 ArthurMa1978 changed the title Release Mgmt. SDK from new TypeSpec by using MPG - Dilithium Release Mgmt. SDK from new TypeSpec by using MPG - Selenium Jan 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant