From 96a01bd464dfd0a3d9c994528431e32f52838197 Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Tue, 19 Sep 2023 11:29:34 +0200 Subject: [PATCH 1/5] Update publishing.md Signed-off-by: Philipp Hugenroth --- docs/publishing.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/docs/publishing.md b/docs/publishing.md index 3ffc29e6df..72603a829f 100644 --- a/docs/publishing.md +++ b/docs/publishing.md @@ -15,8 +15,8 @@ PR is merged. This is typically done every Tuesday around noon CET. ## Next Line Release Process -- PR Checks: Ensure there are no outstanding PRs pending to be merged for this version. If there are any, reach out to maintainers and relevant owners of the affected code reminding them of the deadline for the release. -- [optional] Lock main branch +- PR Checks: Notify the teams & ensure there are no outstanding PRs pending to be merged for this version. This should be done in time to ensure a smoothe release day. If there are any, reach out to maintainers and relevant owners of the affected code reminding them of the deadline for the release. +- [optional] Lock main branch - Lock the main branch to prevent any new merges. - Note: Admin rights are required to lock the branch. If you lack the necessary permissions, contact a core maintainer to perform this action on your behalf. - Check [`Version Packages (next)` Pull Request](https://github.com/backstage/backstage/pulls?q=is%3Aopen+is%3Apr+in%3Atitle+%22Version+Packages+%28next%29%22) @@ -32,6 +32,22 @@ PR is merged. This is typically done every Tuesday around noon CET. Merging the `Version Packages (next)` Pull Request will trigger the deployment workflows. Follow along the [deployment workflow](https://github.com/backstage/backstage/actions/workflows/deploy_packages.yml). If you notice flakiness (e.g. if the build is flaky or if the release step runs into an error with releasing to npm) just restart the workflow. +## Main Line Release Process + +Additional steps for the main line release + +- [Switch Release Mode](#switching-release-modes) to exit pre-release mode. This can be done at any time after the last Next Line Release. +- Check [`Version Packages` Pull Request](https://github.com/backstage/backstage/pulls?q=is%3Aopen+is%3Apr+in%3Atitle+%22Version+Packages) + - Check for mentions of "major" & "breaking" and if they are expected in the current release + - Verify the version we are shipping is correct + - Check [`.changeset/pre.json`](https://github.com/backstage/backstage/blob/master/.changeset/pre.json) if the `mode` is set to `exit`. If you encounter `mode: "pre"` it indicates a next line release. +- Create Release Notes + - There exists a "Backstage Release Notes" template for creating the release notes. It can already be created after the last main line release to keep track of major changes during the month. + - The content is picked by relevancy for the community showcasing the work of the community during the month before the release. + - @0.1.0 + +- [Switch Release Mode](#switching-release-modes) to enter pre-release mode + Congratulations on the release! There should be now a post in the [`#announcements` channel](https://discord.com/channels/687207715902193673/705123584468582400) in Discord linking to the release tag - check if links & tag look as expected. Finally unlock the main branch again. Merging PRs in master directly after release should be done with caution as it potential complicates fixing issues introduced in the release. ## Switching Release Modes From 934fdc0ecfbd91dfbfc9ab9a9f66ee4c690bf358 Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Wed, 27 Sep 2023 13:14:57 +0200 Subject: [PATCH 2/5] Update docs/publishing.md Co-authored-by: Camila Belo Signed-off-by: Philipp Hugenroth --- docs/publishing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/publishing.md b/docs/publishing.md index 72603a829f..558e1c9141 100644 --- a/docs/publishing.md +++ b/docs/publishing.md @@ -15,7 +15,7 @@ PR is merged. This is typically done every Tuesday around noon CET. ## Next Line Release Process -- PR Checks: Notify the teams & ensure there are no outstanding PRs pending to be merged for this version. This should be done in time to ensure a smoothe release day. If there are any, reach out to maintainers and relevant owners of the affected code reminding them of the deadline for the release. +- PR Checks: Notify the teams & ensure there are no outstanding PRs pending to be merged for this version. This should be done in time to ensure a smooth release day. If there are any, reach out to maintainers and relevant owners of the affected code reminding them of the deadline for the release. - [optional] Lock main branch - Lock the main branch to prevent any new merges. - Note: Admin rights are required to lock the branch. If you lack the necessary permissions, contact a core maintainer to perform this action on your behalf. From 812c1f4c1666a0ef9e61d24ad128b403ccf5ca32 Mon Sep 17 00:00:00 2001 From: Philipp Hugenroth Date: Thu, 28 Sep 2023 14:51:11 +0200 Subject: [PATCH 3/5] Update publishing.md Signed-off-by: Philipp Hugenroth --- docs/publishing.md | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/docs/publishing.md b/docs/publishing.md index 558e1c9141..6563addc97 100644 --- a/docs/publishing.md +++ b/docs/publishing.md @@ -16,8 +16,9 @@ PR is merged. This is typically done every Tuesday around noon CET. ## Next Line Release Process - PR Checks: Notify the teams & ensure there are no outstanding PRs pending to be merged for this version. This should be done in time to ensure a smooth release day. If there are any, reach out to maintainers and relevant owners of the affected code reminding them of the deadline for the release. -- [optional] Lock main branch - - Lock the main branch to prevent any new merges. +- Lock main branch + - Lock the main branch to prevent any new merges by other maintainers. Do not unlock the main branch until the release was published successfully + - Core maintainers can still merge last PRs using their admin override including the Version Packages PR - Note: Admin rights are required to lock the branch. If you lack the necessary permissions, contact a core maintainer to perform this action on your behalf. - Check [`Version Packages (next)` Pull Request](https://github.com/backstage/backstage/pulls?q=is%3Aopen+is%3Apr+in%3Atitle+%22Version+Packages+%28next%29%22) - Verify the version we are shipping is correct, by looking at the version packages PR title. It should be "Version Packages (next)" @@ -32,23 +33,28 @@ PR is merged. This is typically done every Tuesday around noon CET. Merging the `Version Packages (next)` Pull Request will trigger the deployment workflows. Follow along the [deployment workflow](https://github.com/backstage/backstage/actions/workflows/deploy_packages.yml). If you notice flakiness (e.g. if the build is flaky or if the release step runs into an error with releasing to npm) just restart the workflow. +Congratulations on the release! There should be now a post in the [`#announcements` channel](https://discord.com/channels/687207715902193673/705123584468582400) in Discord linking to the release tag - check if links & tag look as expected. Once the notification has gone out on Discord you can unlock the main branch & the release is complete. + ## Main Line Release Process Additional steps for the main line release - [Switch Release Mode](#switching-release-modes) to exit pre-release mode. This can be done at any time after the last Next Line Release. + - Check [`.changeset/pre.json`](https://github.com/backstage/backstage/blob/master/.changeset/pre.json) if the `mode` is set to `exit`. If you encounter `mode: "pre"` it indicates a next line release. - Check [`Version Packages` Pull Request](https://github.com/backstage/backstage/pulls?q=is%3Aopen+is%3Apr+in%3Atitle+%22Version+Packages) - Check for mentions of "major" & "breaking" and if they are expected in the current release - Verify the version we are shipping is correct - - Check [`.changeset/pre.json`](https://github.com/backstage/backstage/blob/master/.changeset/pre.json) if the `mode` is set to `exit`. If you encounter `mode: "pre"` it indicates a next line release. - Create Release Notes - - There exists a "Backstage Release Notes" template for creating the release notes. It can already be created after the last main line release to keep track of major changes during the month. - - The content is picked by relevancy for the community showcasing the work of the community during the month before the release. - - @0.1.0 - -- [Switch Release Mode](#switching-release-modes) to enter pre-release mode + - There exists a "Backstage Release Notes" template for creating the release notes. It can already be created after the last main line release to keep track of major changes during the month + - The content is picked by relevancy showcasing the work of the community during the month of the release + - Mention newly added packages or features + - Mention any security fixes +- Create Release Notes PR + - Add the release note file as [`/docs/releases/vx.y.0.md`](https://github.com/backstage/backstage/tree/master/docs/releases) + - Add an entry to [`/microsite/sidebar.json`](https://github.com/backstage/backstage/blob/master/microsite/sidebars.json) for the release note + - Update the navigation bar item in [`/microsite/docusaurus.config.js`](https://github.com/backstage/backstage/blob/master/microsite/docusaurus.config.js) to point to the new release note -Congratulations on the release! There should be now a post in the [`#announcements` channel](https://discord.com/channels/687207715902193673/705123584468582400) in Discord linking to the release tag - check if links & tag look as expected. Finally unlock the main branch again. Merging PRs in master directly after release should be done with caution as it potential complicates fixing issues introduced in the release. +Once the release has been published edit the newly created release in the [GitHub repository](https://github.com/backstage/backstage/releases) and replace the text content with the release notes. ## Switching Release Modes From 085cfdb18087771edc4f119924497038bd34f2db Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Fri, 29 Sep 2023 13:51:46 +0200 Subject: [PATCH 4/5] docs/publishing: update release notes template link Signed-off-by: Patrik Oldsberg --- docs/publishing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/publishing.md b/docs/publishing.md index 6563addc97..9a0df7215b 100644 --- a/docs/publishing.md +++ b/docs/publishing.md @@ -16,7 +16,7 @@ PR is merged. This is typically done every Tuesday around noon CET. ## Next Line Release Process - PR Checks: Notify the teams & ensure there are no outstanding PRs pending to be merged for this version. This should be done in time to ensure a smooth release day. If there are any, reach out to maintainers and relevant owners of the affected code reminding them of the deadline for the release. -- Lock main branch +- Lock main branch - Lock the main branch to prevent any new merges by other maintainers. Do not unlock the main branch until the release was published successfully - Core maintainers can still merge last PRs using their admin override including the Version Packages PR - Note: Admin rights are required to lock the branch. If you lack the necessary permissions, contact a core maintainer to perform this action on your behalf. @@ -45,7 +45,7 @@ Additional steps for the main line release - Check for mentions of "major" & "breaking" and if they are expected in the current release - Verify the version we are shipping is correct - Create Release Notes - - There exists a "Backstage Release Notes" template for creating the release notes. It can already be created after the last main line release to keep track of major changes during the month + - There exists a [release notes template](https://github.com/backstage/backstage/blob/master/docs/release-notes-template.md) for creating the release notes. It can already be created after the last main line release to keep track of major changes during the month - The content is picked by relevancy showcasing the work of the community during the month of the release - Mention newly added packages or features - Mention any security fixes From 19e9b4d4ef291d8cbf3626d05bda6b8c2b087a8b Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Fri, 29 Sep 2023 18:08:59 +0200 Subject: [PATCH 5/5] docs/publishing: update to use relative URLs Signed-off-by: Patrik Oldsberg --- docs/publishing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/publishing.md b/docs/publishing.md index 9a0df7215b..2424bc1352 100644 --- a/docs/publishing.md +++ b/docs/publishing.md @@ -45,12 +45,12 @@ Additional steps for the main line release - Check for mentions of "major" & "breaking" and if they are expected in the current release - Verify the version we are shipping is correct - Create Release Notes - - There exists a [release notes template](https://github.com/backstage/backstage/blob/master/docs/release-notes-template.md) for creating the release notes. It can already be created after the last main line release to keep track of major changes during the month + - There exists a [release notes template](./release-notes-template.md) for creating the release notes. It can already be created after the last main line release to keep track of major changes during the month - The content is picked by relevancy showcasing the work of the community during the month of the release - Mention newly added packages or features - Mention any security fixes - Create Release Notes PR - - Add the release note file as [`/docs/releases/vx.y.0.md`](https://github.com/backstage/backstage/tree/master/docs/releases) + - Add the release note file as [`/docs/releases/vx.y.0.md`](./releases) - Add an entry to [`/microsite/sidebar.json`](https://github.com/backstage/backstage/blob/master/microsite/sidebars.json) for the release note - Update the navigation bar item in [`/microsite/docusaurus.config.js`](https://github.com/backstage/backstage/blob/master/microsite/docusaurus.config.js) to point to the new release note