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 #78

Open
30 of 32 tasks
ArthurMa1978 opened this issue Jan 4, 2024 · 0 comments
Open
30 of 32 tasks

Release Mgmt. SDK from new TypeSpec by using MPG #78

ArthurMa1978 opened this issue Jan 4, 2024 · 0 comments
Assignees

Comments

@ArthurMa1978
Copy link
Member

ArthurMa1978 commented Jan 4, 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

  1. external:mgmt
  2. external:mgmt
  3. external:mgmt
  4. external:mgmt
  5. external:mgmt
  6. external:mgmt
  7. external:mgmt
  8. external:mgmt
  9. external:mgmt
  10. external:mgmt
  11. external:mgmt
  12. external:mgmt
  13. external:mgmt
  14. external:mgmt
  15. external:mgmt
    XiaofeiCao
  16. external:mgmt
    HarveyLink
  17. external:mgmt
    tadelesh
  18. external:mgmt
    live1206
  19. external:mgmt
    archerzz
  20. external:mgmt
    qiaozha
  21. external:mgmt
    ArthurMa1978
  22. external:mgmt
    weidongxu-microsoft
  23. external:mgmt
    josefree tadelesh
  24. external:mgmt
    haolingdong-msft josefree
  25. external:mgmt
    josefree
  26. external:mgmt
    josefree
  27. external:mgmt
    josefree
  28. external:mgmt
    josefree
  29. external:mgmt
    ArcturusZhang josefree
  30. external:mgmt
    josefree

Brownfield case

  1. external:mgmt
  2. external:mgmt
@ArthurMa1978 ArthurMa1978 added ARM external:swagger-converter Issues related to the swagger-converter tool labels Jan 4, 2024
@ArthurMa1978 ArthurMa1978 changed the title Evaluate concersion tools and process readiness with new RPaaS services as well as services doing major version changes Evaluate conversion tools and process readiness with new RPaaS services as well as services doing major version changes May 23, 2024
@ArthurMa1978 ArthurMa1978 removed the external:swagger-converter Issues related to the swagger-converter tool label Jun 13, 2024
@ArthurMa1978 ArthurMa1978 changed the title Evaluate conversion tools and process readiness with new RPaaS services as well as services doing major version changes Release Mgmt. SDK from new TypeSpec by using MPG Jun 13, 2024
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

2 participants