Azure / azure-sdk-tools

Tools repository leveraged by the Azure SDK team.
MIT License
110 stars 174 forks source link

Improve release plan data integrity of SDK release target date and release plan completion state #8660

Open ladonnaq opened 2 months ago

ladonnaq commented 2 months ago

Issue:
Service partners are not:

Requirement:

praveenkuttappan commented 23 hours ago

SDK release target SDK release target is selected when creating the release plan. But this might be a tentative target date. Are we trying to capture the exact release date of a package and make it sync with release plan? How should we handle the scenario of different languages releasing package on different release dates even though all of them were chosen under same release plan?

Can we update the dashboard in a different way to capture the release target date and actual release date if that can satisfy the requirement here?

SDK planned release date: .NET release date: < Release date from package work item> We can even try to create new fields in release plan for each language's released date and update it whenever a package is released. Go release date: < Release date from package work item or release plan work item> Java release date: < Release date from package work item or release plan work item> JavaScript release date: < Release date from package work item or release plan work item> Python release date: < Release date from package work item or release plan work item>

Data won't still be correct even if we decide to use combo as SDK released date if one package gets released on a last week of a month and another package from same release plan got postponed until next month.

Release plan completion Solution 1: One simple solution is to automatically send an email reminder to complete the release plan. We can automate it and send it as recurring reminder until it is marked as closed. We can start sending them once date is past SDK release target date and release plan has completed release stage.

Solution 2: Another solution is to have a background job that checks all pending release plans in release stage, identify the package name and version and verify if that package version is released with the help of package work item. Once all packages are released then mark the release plan as completed and send an email to user informing them the closure of release plan.