From 3fb0dcfa3ffd7882e4ba81bedb391168b02c20ca Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Tue, 3 Mar 2026 15:16:21 +0100 Subject: [PATCH 1/9] Create post-release activities skill --- .github/post-release-activities/SKILL.md | 56 ++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 .github/post-release-activities/SKILL.md diff --git a/.github/post-release-activities/SKILL.md b/.github/post-release-activities/SKILL.md new file mode 100644 index 0000000000..a89c4e07ed --- /dev/null +++ b/.github/post-release-activities/SKILL.md @@ -0,0 +1,56 @@ +--- +name: post-release-activities +description: Systematic activities that needs to be performed after a release is done. +--- + +# Post-release Activities Skill + +## When to Use This Skill + +Use this skill when assigned an issue asking you to do the post-release activities. You will be given the branch name for the release. If that information is missing, ask for it and don't proceed with doing anything. + +## Steps to Follow + +### Step 1: Find the release version + +The branch name only contains the major and minor parts of the version, but not the patch part. To find the full version: + +1. Look for `eng/Versions.props` file in the given branch. +2. Find the value of `VersionPrefix`. + +### Step 2: Tagging the branch + +Create a tag for the branch using the version you found in Step 1. The tag name should be `v{version}` (replace `{version}` with the version you found in Step 1). After creating the tag, push it to the remote repository. + +### Step 3: Create a GitHub draft release + +1. Create a file `release-notes.md` and add the following content to it: `See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#{version})` (replace `{version}` with the version you found in Step 1). +1. Run `gh release create v{version} --draft --title v{version} --notes-file release-notes.md`. + +### Step 4: Open a PR updating the change log files + +1. Run the following command to get markdown of the changelog: `gh api --method POST -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/microsoft/testfx/releases/generate-notes -f 'tag_name=v4.1.0'` +2. Classify everything whether it's MSTest change or Microsoft.Testing.Platform change. +3. MSTest changes go to `docs/Changelog.md` and Microsoft.Testing.Platform changes go to `docs/Changelog-Platform.md`. +4. Classify further the changes of each product into categories like "Added", "Changed", "Fixed", etc. +5. Update the changelog markdown files using the above instructions and following the existing format of those files. +6. When not confident about the classification of a specific change, indicate in the PR description that it requires attention and manual review. + +#### Step 5: Create a PR to release branch to update patch version + +Open a PR to the release branch to update the patch version in `eng/Versions.props` file. The new patch version should be one more than the patch version you found in Step 1. + +#### Step 6: Create a PR to main to update minor version + +Open a PR to the main branch to update the minor version in `eng/Versions.props` file. The new minor version should be one more than the minor version you found in Step 1, and the patch version should be reset to 0. + +#### Step 7: Update public samples + +Open a PR to the main branch to update the product versions of public samples to latest. Public samples are present in `samples/public` directory. + +#### Step 8: Move Unshipped to Shipped + +1. Run `eng/mark-shipped.ps1` (requires PowerShell 7.0). +2. Move `AnalyzerReleases.Unshipped.txt` to `AnalyzerReleases.Shipped.txt`. + +Create a PR to main with these changes. \ No newline at end of file From d17acc72d7e18b483b6b7d4dde8342a883a8822b Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Tue, 3 Mar 2026 18:05:35 +0100 Subject: [PATCH 2/9] Partial progress --- .github/post-release-activities/SKILL.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/post-release-activities/SKILL.md b/.github/post-release-activities/SKILL.md index a89c4e07ed..0de6ab8848 100644 --- a/.github/post-release-activities/SKILL.md +++ b/.github/post-release-activities/SKILL.md @@ -1,6 +1,6 @@ --- name: post-release-activities -description: Systematic activities that needs to be performed after a release is done. +description: Systematic activities that need to be performed after a release is done. --- # Post-release Activities Skill @@ -25,7 +25,7 @@ Create a tag for the branch using the version you found in Step 1. The tag name ### Step 3: Create a GitHub draft release 1. Create a file `release-notes.md` and add the following content to it: `See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#{version})` (replace `{version}` with the version you found in Step 1). -1. Run `gh release create v{version} --draft --title v{version} --notes-file release-notes.md`. +2. Run `gh release create v{version} --draft --title v{version} --notes-file release-notes.md`. ### Step 4: Open a PR updating the change log files @@ -36,21 +36,21 @@ Create a tag for the branch using the version you found in Step 1. The tag name 5. Update the changelog markdown files using the above instructions and following the existing format of those files. 6. When not confident about the classification of a specific change, indicate in the PR description that it requires attention and manual review. -#### Step 5: Create a PR to release branch to update patch version +### Step 5: Create a PR to release branch to update patch version Open a PR to the release branch to update the patch version in `eng/Versions.props` file. The new patch version should be one more than the patch version you found in Step 1. -#### Step 6: Create a PR to main to update minor version +### Step 6: Create a PR to main to update minor version Open a PR to the main branch to update the minor version in `eng/Versions.props` file. The new minor version should be one more than the minor version you found in Step 1, and the patch version should be reset to 0. -#### Step 7: Update public samples +### Step 7: Update public samples Open a PR to the main branch to update the product versions of public samples to latest. Public samples are present in `samples/public` directory. -#### Step 8: Move Unshipped to Shipped +### Step 8: Move Unshipped to Shipped 1. Run `eng/mark-shipped.ps1` (requires PowerShell 7.0). -2. Move `AnalyzerReleases.Unshipped.txt` to `AnalyzerReleases.Shipped.txt`. +2. Move `src/Analyzers/MSTest.Analyzers/AnalyzerReleases.Unshipped.txt` to `src/Analyzers/MSTest.Analyzers/AnalyzerReleases.Shipped.txt`. Create a PR to main with these changes. \ No newline at end of file From 8324cc8ef291b34a10d6294e6eeb7df45bc1d264 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Thu, 26 Mar 2026 13:33:17 +0100 Subject: [PATCH 3/9] Update SKILL.md --- .github/post-release-activities/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/post-release-activities/SKILL.md b/.github/post-release-activities/SKILL.md index 0de6ab8848..e6dc980d7b 100644 --- a/.github/post-release-activities/SKILL.md +++ b/.github/post-release-activities/SKILL.md @@ -29,7 +29,7 @@ Create a tag for the branch using the version you found in Step 1. The tag name ### Step 4: Open a PR updating the change log files -1. Run the following command to get markdown of the changelog: `gh api --method POST -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/microsoft/testfx/releases/generate-notes -f 'tag_name=v4.1.0'` +1. Run the following command to get markdown of the changelog: `gh api --method POST -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/microsoft/testfx/releases/generate-notes -f 'tag_name=v{version}'` (replace `{version}` with the version you found in Step 1). 2. Classify everything whether it's MSTest change or Microsoft.Testing.Platform change. 3. MSTest changes go to `docs/Changelog.md` and Microsoft.Testing.Platform changes go to `docs/Changelog-Platform.md`. 4. Classify further the changes of each product into categories like "Added", "Changed", "Fixed", etc. From ccbce7593a9a122725fe3bcab866b3f203c9604f Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Thu, 26 Mar 2026 13:33:53 +0100 Subject: [PATCH 4/9] Fix markdownlint --- .github/post-release-activities/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/post-release-activities/SKILL.md b/.github/post-release-activities/SKILL.md index e6dc980d7b..357b8e2d75 100644 --- a/.github/post-release-activities/SKILL.md +++ b/.github/post-release-activities/SKILL.md @@ -53,4 +53,4 @@ Open a PR to the main branch to update the product versions of public samples to 1. Run `eng/mark-shipped.ps1` (requires PowerShell 7.0). 2. Move `src/Analyzers/MSTest.Analyzers/AnalyzerReleases.Unshipped.txt` to `src/Analyzers/MSTest.Analyzers/AnalyzerReleases.Shipped.txt`. -Create a PR to main with these changes. \ No newline at end of file +Create a PR to main with these changes. From a1192e0883a8b8e10bd151897c89cf148c20cfc9 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Thu, 26 Mar 2026 13:36:57 +0100 Subject: [PATCH 5/9] Update SKILL.md --- .github/post-release-activities/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/post-release-activities/SKILL.md b/.github/post-release-activities/SKILL.md index 357b8e2d75..4d1b08b2bd 100644 --- a/.github/post-release-activities/SKILL.md +++ b/.github/post-release-activities/SKILL.md @@ -51,6 +51,6 @@ Open a PR to the main branch to update the product versions of public samples to ### Step 8: Move Unshipped to Shipped 1. Run `eng/mark-shipped.ps1` (requires PowerShell 7.0). -2. Move `src/Analyzers/MSTest.Analyzers/AnalyzerReleases.Unshipped.txt` to `src/Analyzers/MSTest.Analyzers/AnalyzerReleases.Shipped.txt`. +2. Move `src/Analyzers/MSTest.Analyzers/AnalyzerReleases.Unshipped.md` to `src/Analyzers/MSTest.Analyzers/AnalyzerReleases.Shipped.md`. Create a PR to main with these changes. From 0fc125c20e37d8594ce947b58be1e05ea425ffc6 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Thu, 26 Mar 2026 13:39:30 +0100 Subject: [PATCH 6/9] Update SKILL.md --- .github/post-release-activities/SKILL.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/post-release-activities/SKILL.md b/.github/post-release-activities/SKILL.md index 4d1b08b2bd..1e3d72571a 100644 --- a/.github/post-release-activities/SKILL.md +++ b/.github/post-release-activities/SKILL.md @@ -40,10 +40,14 @@ Create a tag for the branch using the version you found in Step 1. The tag name Open a PR to the release branch to update the patch version in `eng/Versions.props` file. The new patch version should be one more than the patch version you found in Step 1. +Note that in this step, both `TestingPlatformVersionPrefix` and `VersionPrefix` must be updated. + ### Step 6: Create a PR to main to update minor version Open a PR to the main branch to update the minor version in `eng/Versions.props` file. The new minor version should be one more than the minor version you found in Step 1, and the patch version should be reset to 0. +Note that in this step, both `TestingPlatformVersionPrefix` and `VersionPrefix` must be updated. + ### Step 7: Update public samples Open a PR to the main branch to update the product versions of public samples to latest. Public samples are present in `samples/public` directory. From c78d4f14400017b84ff5bb3083c446ec8f9e7b64 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Thu, 26 Mar 2026 13:42:38 +0100 Subject: [PATCH 7/9] Update SKILL.md --- .github/post-release-activities/SKILL.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/post-release-activities/SKILL.md b/.github/post-release-activities/SKILL.md index 1e3d72571a..442edf9708 100644 --- a/.github/post-release-activities/SKILL.md +++ b/.github/post-release-activities/SKILL.md @@ -52,9 +52,9 @@ Note that in this step, both `TestingPlatformVersionPrefix` and `VersionPrefix` Open a PR to the main branch to update the product versions of public samples to latest. Public samples are present in `samples/public` directory. -### Step 8: Move Unshipped to Shipped +### Step 8: Mark APIs and analyzers as shipped 1. Run `eng/mark-shipped.ps1` (requires PowerShell 7.0). -2. Move `src/Analyzers/MSTest.Analyzers/AnalyzerReleases.Unshipped.md` to `src/Analyzers/MSTest.Analyzers/AnalyzerReleases.Shipped.md`. +2. Move the contents of `src/Analyzers/MSTest.Analyzers/AnalyzerReleases.Unshipped.md` (except the first two lines that start with `;`) to `src/Analyzers/MSTest.Analyzers/AnalyzerReleases.Shipped.md`. Create a PR to main with these changes. From 80171c50a0c42402b48b31ef80a43efa77d56a24 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Thu, 26 Mar 2026 13:57:27 +0100 Subject: [PATCH 8/9] Update .github/post-release-activities/SKILL.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .github/post-release-activities/SKILL.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/post-release-activities/SKILL.md b/.github/post-release-activities/SKILL.md index 442edf9708..1b53c087ad 100644 --- a/.github/post-release-activities/SKILL.md +++ b/.github/post-release-activities/SKILL.md @@ -27,14 +27,14 @@ Create a tag for the branch using the version you found in Step 1. The tag name 1. Create a file `release-notes.md` and add the following content to it: `See the release notes [here](https://github.com/microsoft/testfx/blob/main/docs/Changelog.md#{version})` (replace `{version}` with the version you found in Step 1). 2. Run `gh release create v{version} --draft --title v{version} --notes-file release-notes.md`. -### Step 4: Open a PR updating the change log files +### Step 4: Open a PR to main updating the change log files 1. Run the following command to get markdown of the changelog: `gh api --method POST -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/microsoft/testfx/releases/generate-notes -f 'tag_name=v{version}'` (replace `{version}` with the version you found in Step 1). 2. Classify everything whether it's MSTest change or Microsoft.Testing.Platform change. 3. MSTest changes go to `docs/Changelog.md` and Microsoft.Testing.Platform changes go to `docs/Changelog-Platform.md`. 4. Classify further the changes of each product into categories like "Added", "Changed", "Fixed", etc. 5. Update the changelog markdown files using the above instructions and following the existing format of those files. -6. When not confident about the classification of a specific change, indicate in the PR description that it requires attention and manual review. +6. When not confident about the classification of a specific change, indicate in the PR description that it requires attention and manual review. This PR must target the `main` branch, not the release branch. ### Step 5: Create a PR to release branch to update patch version From 99c715c5cc5fdeb38499fc44fee0d79f44dbd911 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Thu, 26 Mar 2026 13:57:46 +0100 Subject: [PATCH 9/9] Update .github/post-release-activities/SKILL.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .github/post-release-activities/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/post-release-activities/SKILL.md b/.github/post-release-activities/SKILL.md index 1b53c087ad..e9fd4c917e 100644 --- a/.github/post-release-activities/SKILL.md +++ b/.github/post-release-activities/SKILL.md @@ -30,7 +30,7 @@ Create a tag for the branch using the version you found in Step 1. The tag name ### Step 4: Open a PR to main updating the change log files 1. Run the following command to get markdown of the changelog: `gh api --method POST -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" /repos/microsoft/testfx/releases/generate-notes -f 'tag_name=v{version}'` (replace `{version}` with the version you found in Step 1). -2. Classify everything whether it's MSTest change or Microsoft.Testing.Platform change. +2. Classify each entry as either an MSTest change or a Microsoft.Testing.Platform change. 3. MSTest changes go to `docs/Changelog.md` and Microsoft.Testing.Platform changes go to `docs/Changelog-Platform.md`. 4. Classify further the changes of each product into categories like "Added", "Changed", "Fixed", etc. 5. Update the changelog markdown files using the above instructions and following the existing format of those files.