Skip to content

Commit 4b02fc0

Browse files
authored
[Deprecation] remove deprecated pkg from main (#40625)
* update deprecation doc to remove package from main * update steps to remove ci.yml if no other artifacts * reword * move things around * xiangs feedback * add step to remove links to main in samples readme * update depr doc * kristas comments * reword * laurents comments * nit
1 parent edb98b8 commit 4b02fc0

File tree

1 file changed

+28
-20
lines changed

1 file changed

+28
-20
lines changed

doc/deprecation_process.md

+28-20
Original file line numberDiff line numberDiff line change
@@ -29,37 +29,37 @@ Clone the `azure-sdk-for-python` repository and update the following files of yo
2929

3030
A disclaimer should be added indicating end-of-life date (EOLDate) of the package and directing to a replacement package and migration guide as necessary.
3131
- The EOLDate should be in the format `MM-DD-YYYY`.
32-
- If there is no replacement package, the package EOLDate should be the service retirement date. This does not necessarily need to be the same as the release date in the CHANGELOG.md, since the package may be deprecated before/after the service is retired.
32+
- If there is no replacement package, the package EOLDate should be the service retirement date.
3333
- If there is a replacement package (or repo), the EOLDate should be the same as the deprecation release date of the old package in the CHANGELOG.md.
3434
- Service retirement dates MAY be listed [here](https://aka.ms/servicesretirementworkbook), where retiring feature says 'Entire service'.
3535
- The link to the replacement package should be a PyPI link: `https://pypi.org/project/azure-mynewpackage/`.
3636
- The link to the migration guide should be a link in the format `https://aka.ms/azsdk/python/migrate/my-new-package`. To create this aka.ms link, follow the "How to create aka.ms links" section [here](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/233/Azure-SDK-AKA.ms-Links?anchor=how-to-create-aka.ms-links).
3737
- **NOTE**: You may decide to postpone or skip writing a migration guide based on downloads numbers (found on [pypistats](https://pypistats.org/), [pepy.tech](https://www.pepy.tech/), etc.) and internal knowledge of the usage of the package.
3838

39-
The disclaimer should be added at the very top of the README.md before any other text in the following format.
39+
Replace ALL existing text with a disclaimer in the following format.
4040

4141
- If a replacement package and migration guide exist:
4242

4343
```md
44-
**NOTE**: This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>. To receive updates on new features and non-security bug fixes, upgrade to the replacement package, [azure-mynewpackage](https://pypi.org/project/azure-mynewpackage/). Refer to the migration guide (https://aka.ms/azsdk/python/migrate/my-new-package) for guidance on upgrading.
44+
This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>. To receive updates on new features and non-security bug fixes, upgrade to the replacement package, [azure-mynewpackage](https://pypi.org/project/azure-mynewpackage/). Refer to the migration guide (https://aka.ms/azsdk/python/migrate/my-new-package) for guidance on upgrading.
4545
```
4646

4747
- If a migration guide is not provided:
4848

4949
```md
50-
**NOTE**: This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>. To receive updates on new features and non-security bug fixes, upgrade to the replacement package, [azure-mynewpackage](https://pypi.org/project/azure-mynewpackage/).
50+
This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>. To receive updates on new features and non-security bug fixes, upgrade to the replacement package, [azure-mynewpackage](https://pypi.org/project/azure-mynewpackage/).
5151
```
5252

5353
- If a replacement package does not exist:
5454

5555
```md
56-
**NOTE**: This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>.
56+
This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>.
5757
```
5858

5959
- If a new service has replaced the service, and existing customers should be directed to the new service's Rest API docs/repo:
6060

6161
```md
62-
**NOTE**: This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>. Refer to the samples in the [My New Service repo](https://github.com/microsoft/my-new-service/tree/main) instead.
62+
This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>. Refer to the samples in the [My New Service repo](https://github.com/microsoft/my-new-service/tree/main) instead.
6363

6464
For additional support, open a new issue in the [Issues](https://github.com/microsoft/my-new-service/issues) section of the My New Service repo.
6565
```
@@ -105,7 +105,6 @@ The disclaimer should be added at the very top of the README.md before any other
105105
safeName: azuremypackage
106106
```
107107
108-
109108
# Step 2: Resolve all open issues/PRs corresponding to the library.
110109
111110
If there is a replacement library, provide a link to the new library or an existing migration guide before closing.
@@ -167,11 +166,28 @@ You may see tests/mypy/pylint or other checks failing on other packages in the C
167166

168167
## Post-Release
169168

170-
Check to make sure that the new version of the package has been released on PyPI.
169+
Check to make sure that the new version of the package has been released on PyPI and that the release has been tagged in the `azure-sdk-for-python` repo with `azure-mypackage_<version>`.
170+
171+
**NOTE: If your package has been released, there should be a corresponding [GitHub release tag](https://github.com/Azure/azure-sdk-for-python/tags). If there is not, create a post in the [Engineering System channel](https://teams.microsoft.com/l/channel/19%3A59dbfadafb5e41c4890e2cd3d74cc7ba%40thread.skype/Engineering%20System%20%F0%9F%9B%A0%EF%B8%8F?groupId=3e17dcb0-4257-4a30-b843-77f47f1d4121&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47) that the release tag cannot be found and add a link to the release build.**
172+
173+
Example release tag: [azure-cognitiveservices-language-spellcheck_2.0.1](https://github.com/Azure/azure-sdk-for-python/releases/tag/azure-cognitiveservices-language-spellcheck_2.0.1)
174+
175+
# Step 5: Create a new PR to remove the package from the main branch
176+
177+
Append a note to the README.md deprecation message stating the package has been removed from the main branch, a link to the latest GitHub release tag and package on PyPI, and contact info for questions. The full README text should now look like the following:
178+
179+
```md
180+
# Microsoft Azure SDK for Python
181+
182+
This package has been deprecated and will no longer be maintained after <EOLDate>. This package will only receive security fixes until <EOLDate>.
171183
172-
# Step 5: Create a new PR to remove the package from CI
184+
Package source code and samples have been removed from the `main` branch and can be found under the release tag for the latest version. See [azure-mypackage_<version>](https://github.com/Azure/azure-sdk-for-python/tree/azure-mypackage_<version>/sdk/mypackage/azure-mypackage). The latest release can be found on [PyPI](https://pypi.org/project/azure-mypackage/).
173185

174-
- You will see an `Artifacts` parameter in the `mypackage/ci.yml`.
186+
If you have any questions, please open a [GitHub Issue](https://github.com/Azure/azure-sdk-for-python/issues) or email `[email protected]`.
187+
```
188+
189+
- Delete all files in the package directory `sdk/mypackage/azure-mypackage` EXCEPT for the README.md at the package directory root.
190+
- You will see an `Artifacts` parameter in `mypackage/ci.yml`.
175191
```yml
176192
extends:
177193
parameters:
@@ -180,29 +196,21 @@ Check to make sure that the new version of the package has been released on PyPI
180196
- name: azure-mypackage
181197
safeName: azuremypackage
182198
```
183-
- If the only package listed is `azure-mypackage`, remove the `Artifacts` section altogether.
184-
```yml
185-
extends:
186-
parameters:
187-
...
188-
```
189-
- If there are multiple packages listed, remove the `name` and corresponding `safeName` lines for only `azure-mypackage`.
199+
- If there are multiple packages listed, remove the `name` and corresponding `safeName` lines for only `azure-mypackage`.
190200
```yml
191201
extends:
192202
parameters:
193203
...
194204
Artifacts:
195205
...
196206
```
207+
- If the only package listed is `azure-mypackage`, delete `ci.yml` and all other files -- _not package subdirectories_-- in the `mypackage` service directory (i.e. `tests.yml`, `test-resources.bicep`, etc.).
197208

198-
- Add the line `ci_enabled = false` to `azure-mypackage/pyproject.toml`.
199209
- Create a new PR targeting the `main` branch of the repository.
200210
- Post the PR in the [review channel for Python](https://teams.microsoft.com/l/channel/19%3a4175567f1e154a80ab5b88cbd22ea92f%40thread.skype/Language%2520-%2520Python%2520-%2520Reviews?groupId=3e17dcb0-4257-4a30-b843-77f47f1d4121&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47).
201211
- Once the PR has been approved by codeowner, merge.
202212
- You're responsible for fixing any CI issues related to this PR.
203213

204-
Example post-deprecation PR for azure-cognitiveservices-language-spellcheck [here](https://github.com/Azure/azure-sdk-for-python/pull/37459/files).
205-
206214
# Step 6: Update API Documentation
207215

208216
## Remove the entry in the github.io docs

0 commit comments

Comments
 (0)