Commit f1f319542f for woocommerce

commit f1f319542f262fcce50fdce38e83e1bb66e4165f
Author: Jorge A. Torres <jorge.torres@automattic.com>
Date:   Tue Feb 10 16:17:06 2026 +0000

    Update release documentation based on recent improvements (#63145)

diff --git a/.linear/release-kickoff-beta.md b/.linear/release-kickoff-beta.md
index 6bb62112f5..f5b9f1d4d6 100644
--- a/.linear/release-kickoff-beta.md
+++ b/.linear/release-kickoff-beta.md
@@ -20,11 +20,11 @@ Keep the _[Release Troubleshooting & Recovery](https://developer.woocommerce.com

 ### 2. Build the release package

-- [ ] Run workflow **[Release: Bump version number]({repository_url}/actions/workflows/release-bump-version.yml)**: enter `{release_branch}` as _Release branch_ and `{release_type}` as _Type of version bump to perform_.
+- [ ] Run workflow **[Release: Bump version number]({repository_url}/actions/workflows/release-bump-version.yml)**: enter `{release_main_version}` as _Release branch_ and `{release_type}` as _Type of version bump to perform_.
 - [ ] Review and merge the PR that was generated against the release branch. Check the [{release_milestone} milestone]({repository_url}/issues?q=is:open+milestone:{release_milestone}).
 - [ ] Run workflow **[Release: Compile changelog]({repository_url}/actions/workflows/release-compile-changelog.yml)**: enter `{release_main_version}` as _Version_ and leave _Release date_ empty, except when building the package ahead of schedule.
 - [ ] Review and merge the PRs that were generated: one against `trunk` and another one against the release branch. Both should be under the [{release_milestone} milestone]({repository_url}/issues?q=is:open+milestone:{release_milestone}).
-- [ ] Run workflow **[Release: Build ZIP file]({repository_url}/actions/workflows/release-build-zip-file.yml)** to build the asset and create the GitHub release: enter `{release_branch}` as _Release branch_ and check _Create GitHub release_.
+- [ ] Run workflow **[Release: Build ZIP file]({repository_url}/actions/workflows/release-build-zip-file.yml)** to build the asset and create the GitHub release: enter `{release_main_version}` as _Release branch_ and check _Create GitHub release_.
 - [ ] Confirm that a draft `{release_version}` release [was created in the repository]({repository_url}/releases) with an attached `woocommerce.zip` asset.


@@ -32,10 +32,10 @@ Keep the _[Release Troubleshooting & Recovery](https://developer.woocommerce.com

 - [ ] Run workflow **[Release: Upload release to WordPress.org]({repository_url}/actions/workflows/release-upload-to-wporg.yml)**: enter `{release_version}` as _Release tag to upload_ and make sure to check off the confirmation box. This can take up to 40 mins.
 - [ ] Confirm that SVN tag `{release_version}` [exists on WordPress.org SVN](https://plugins.svn.wordpress.org/woocommerce/tags/{release_version}).
-- [ ] [Log into WordPress.org](https://wordpress.org/plugins/developers/releases/) using the credentials from the `WordPress.org "WooCommerce" user account` secret in the secret store and approve the release.
+- [ ] Log [into WordPress.org](https://wordpress.org/plugins/developers/releases/) using the credentials from the `WordPress.org "WooCommerce" user account` secret in the secret store and approve the release.
 - [ ] After a few minutes, confirm that [`{release_version}` is available for download](https://downloads.wordpress.org/plugin/woocommerce.{release_version}.zip).


 ### 4. Publish the release

-- [ ] Publish the `{release_version}` [release draft]({repository_url}/releases) that was previously created.
+- [ ] Publish the `{release_version}` [release draft]({repository_url}/releases) that was previously created. **Do not** check "Set as the latest release".
diff --git a/.linear/release-kickoff-patch.md b/.linear/release-kickoff-patch.md
index 4172e4e57b..710ea06164 100644
--- a/.linear/release-kickoff-patch.md
+++ b/.linear/release-kickoff-patch.md
@@ -20,11 +20,11 @@ Keep the _[Release Troubleshooting & Recovery](https://developer.woocommerce.com

 ### 2. Build the release package

-- [ ] Run workflow **[Release: Bump version number]({repository_url}/actions/workflows/release-bump-version.yml)**: enter `{release_branch}` as _Release branch_ and `{release_type}` as _Type of version bump to perform_.
+- [ ] Run workflow **[Release: Bump version number]({repository_url}/actions/workflows/release-bump-version.yml)**: enter `{release_main_version}` as _Release branch_ and `{release_type}` as _Type of version bump to perform_.
 - [ ] Review and merge the PR that was generated against the release branch. Check the [{release_milestone} milestone]({repository_url}/issues?q=is:open+milestone:{release_milestone}).
 - [ ] Run workflow **[Release: Compile changelog]({repository_url}/actions/workflows/release-compile-changelog.yml)**: enter `{release_main_version}` as _Version_ and leave _Release date_ empty, except when building the package ahead of schedule.
 - [ ] Review and merge the PRs that were generated: one against `trunk` and another one against the release branch. Both should be under the [{release_milestone} milestone]({repository_url}/issues?q=is:open+milestone:{release_milestone}).
-- [ ] Run workflow **[Release: Build ZIP file]({repository_url}/actions/workflows/release-build-zip-file.yml)** to build the asset and create the GitHub release: enter `{release_branch}` as _Release branch_ and check _Create GitHub release_.
+- [ ] Run workflow **[Release: Build ZIP file]({repository_url}/actions/workflows/release-build-zip-file.yml)** to build the asset and create the GitHub release: enter `{release_main_version}` as _Release branch_ and check _Create GitHub release_.
 - [ ] Confirm that a draft `{release_version}` release [was created in the repository]({repository_url}/releases) with an attached `woocommerce.zip` asset.


@@ -32,13 +32,14 @@ Keep the _[Release Troubleshooting & Recovery](https://developer.woocommerce.com

 - [ ] Run workflow **[Release: Upload release to WordPress.org]({repository_url}/actions/workflows/release-upload-to-wporg.yml)**: enter `{release_version}` as _Release tag to upload_ and make sure to check off the confirmation box.
 - [ ] Confirm that SVN tag `{release_version}` [exists on WordPress.org SVN](https://plugins.svn.wordpress.org/woocommerce/tags/{release_version}).
-- [ ] [Log into WordPress.org](https://wordpress.org/plugins/developers/releases/) using the credentials from the `WordPress.org "WooCommerce" user account` secret in the secret store and approve the release.
+- [ ] Log [into WordPress.org](https://wordpress.org/plugins/developers/releases/) using the credentials from the `WordPress.org "WooCommerce" user account` secret in the secret store and approve the release.
 - [ ] After a few minutes, confirm that [`{release_version}` is available for download](https://downloads.wordpress.org/plugin/woocommerce.{release_version}.zip).


 ### 4. Deploy to the staging environment

 - [ ] Follow the [guide to deploy to the staging environment](https://wp.me/PCYsg-18BQ) and monitor for at least {release_monitoring_time} hours after deploy.
+- [ ] Create a thread in the releases Slack channel for monitoring and discussion of this release.

 **If a critical issue was detected while monitoring...**

diff --git a/.linear/release-kickoff-rc.md b/.linear/release-kickoff-rc.md
index b01afd6ef0..43936517d6 100644
--- a/.linear/release-kickoff-rc.md
+++ b/.linear/release-kickoff-rc.md
@@ -20,11 +20,11 @@ Keep the _[Release Troubleshooting & Recovery](https://developer.woocommerce.com

 ### 2. Build the release package

-- [ ] Run workflow **[Release: Bump version number]({repository_url}/actions/workflows/release-bump-version.yml)**: enter `{release_branch}` as _Release branch_ and `{release_type}` as _Type of version bump to perform_.
+- [ ] Run workflow **[Release: Bump version number]({repository_url}/actions/workflows/release-bump-version.yml)**: enter `{release_main_version}` as _Release branch_ and `{release_type}` as _Type of version bump to perform_.
 - [ ] Review and merge the PR that was generated against the release branch. Check the [{release_milestone} milestone]({repository_url}/issues?q=is:open+milestone:{release_milestone}).
 - [ ] Run workflow **[Release: Compile changelog]({repository_url}/actions/workflows/release-compile-changelog.yml)**: enter `{release_main_version}` as _Version_ and leave _Release date_ empty, except when building the package ahead of schedule.
 - [ ] Review and merge the PRs that were generated: one against `trunk` and another one against the release branch. Both should be under the [{release_milestone} milestone]({repository_url}/issues?q=is:open+milestone:{release_milestone}).
-- [ ] Run workflow **[Release: Build ZIP file]({repository_url}/actions/workflows/release-build-zip-file.yml)** to build the asset and create the GitHub release: enter `{release_branch}` as _Release branch_ and check _Create GitHub release_.
+- [ ] Run workflow **[Release: Build ZIP file]({repository_url}/actions/workflows/release-build-zip-file.yml)** to build the asset and create the GitHub release: enter `{release_main_version}` as _Release branch_ and check _Create GitHub release_.
 - [ ] Confirm that a draft `{release_version}` release [was created in the repository]({repository_url}/releases) with an attached `woocommerce.zip` asset.


@@ -32,13 +32,14 @@ Keep the _[Release Troubleshooting & Recovery](https://developer.woocommerce.com

 - [ ] Run workflow **[Release: Upload release to WordPress.org]({repository_url}/actions/workflows/release-upload-to-wporg.yml)**: enter `{release_version}` as _Release tag to upload_ and make sure to check off the confirmation box.
 - [ ] Confirm that SVN tag `{release_version}` [exists on WordPress.org SVN](https://plugins.svn.wordpress.org/woocommerce/tags/{release_version}).
-- [ ] [Log into WordPress.org](https://wordpress.org/plugins/developers/releases/) using the credentials from the `WordPress.org "WooCommerce" user account` secret in the secret store and approve the release.
+- [ ] Log [into WordPress.org](https://wordpress.org/plugins/developers/releases/) using the credentials from the `WordPress.org "WooCommerce" user account` secret in the secret store and approve the release.
 - [ ] After a few minutes, confirm that [`{release_version}` is available for download](https://downloads.wordpress.org/plugin/woocommerce.{release_version}.zip).


 ### 4. Deploy to the staging environment

 - [ ] Follow the [guide to deploy to the staging environment](https://wp.me/PCYsg-18BQ) and monitor for at least {release_monitoring_time} hours after deploy.
+- [ ] Create a thread in the releases Slack channel for monitoring and discussion of this release.

 **If a critical issue was detected while monitoring...**

diff --git a/docs/contribution/releases/README.md b/docs/contribution/releases/README.md
index 53d1caddf1..a010c62840 100644
--- a/docs/contribution/releases/README.md
+++ b/docs/contribution/releases/README.md
@@ -18,3 +18,4 @@ The WooCommerce release process is managed by a rotating release lead.  The docu
 * [Release Schedule](/docs/contribution/releases/schedule)
 * [Release Monitoring](/docs/contribution/releases/monitoring)
 * [Package Releases](/docs/contribution/releases/package-releases)
+* [Workflows](/docs/contribution/releases/workflows)
diff --git a/docs/contribution/releases/building-and-publishing.md b/docs/contribution/releases/building-and-publishing.md
index 1ab9acd15e..39c6251e50 100644
--- a/docs/contribution/releases/building-and-publishing.md
+++ b/docs/contribution/releases/building-and-publishing.md
@@ -35,11 +35,11 @@ Keep the _[Release Troubleshooting & Recovery](/docs/contribution/releases/troub

 #### 2. Build the release package

-- [ ] Run workflow **[Release: Bump version number](https://github.com/woocommerce/woocommerce/actions/workflows/release-bump-version.yml)**: enter the release branch as _Release branch_ and choose the release type from the dropdown.
+- [ ] Run workflow **[Release: Bump version number](https://github.com/woocommerce/woocommerce/actions/workflows/release-bump-version.yml)**: enter the release main version (`x.y`) as _Release branch_ and choose the release type from the dropdown.
 - [ ] Review and merge the PR that was generated against the release branch.
 - [ ] Run workflow **[Release: Compile changelog](https://github.com/woocommerce/woocommerce/actions/workflows/release-compile-changelog.yml)**: enter the release main version (`x.y`) as _Version_ and leave _Release date_ empty, except when building the package ahead of schedule.
 - [ ] Review and merge the PRs that were generated: one against `trunk` and another one against the release branch. Both should be under the release milestone.
-- [ ] Run workflow **[Release: Build ZIP file](https://github.com/woocommerce/woocommerce/actions/workflows/release-build-zip-file.yml)** to build the asset and create the GitHub release: enter the release branch as _Release branch_ and check _Create GitHub release_.
+- [ ] Run workflow **[Release: Build ZIP file](https://github.com/woocommerce/woocommerce/actions/workflows/release-build-zip-file.yml)** to build the asset and create the GitHub release: enter the release main version (`x.y`) as _Release branch_ and check _Create GitHub release_.
 - [ ] Confirm that a draft release [was created in the repository](https://github.com/woocommerce/woocommerce/releases) with an attached `woocommerce.zip` asset.

 #### 3. Upload the release to WordPress.org
@@ -56,6 +56,7 @@ This step only applies to `rc` or stable (`x.y.0`  onwards) releases.
 :::

 - [ ] Follow the [guide to deploy to the staging environment](https://wp.me/PCYsg-18BQ) and monitor for 4 hours (RC) or 2 hours (stable) after deploy.
+- [ ] Create a thread in the releases Slack channel for monitoring and discussion of this release.

 ##### If a critical issue was detected while monitoring

@@ -70,7 +71,7 @@ This step only applies to `rc` or stable (`x.y.0`  onwards) releases.
 #### 6. Post-release tasks

 :::caution
-This step only applies to `rc` or stable (`x.y.0`  onwards) releases.
+This step only applies to stable (`x.y.0`  onwards) releases.
 :::

 - [ ] Wait at least 1 hour for all automations to complete and make sure to merge any follow-up PRs under the [release milestone](https://github.com/woocommerce/woocommerce/milestones/).
diff --git a/docs/contribution/releases/troubleshooting.md b/docs/contribution/releases/troubleshooting.md
index e45ad43551..7dc73996aa 100644
--- a/docs/contribution/releases/troubleshooting.md
+++ b/docs/contribution/releases/troubleshooting.md
@@ -59,7 +59,7 @@ For RC and stable releases, deploying to our staging environment and monitoring

 #### How to proceed once the bug fix is merged into the release branch?

-1. **Create a new tracking issue** for the new version (e.g., `-rc.2` if the bug was detected during `-rc.1`, or `x.y.2` if detected while monitoring `x.y.1`). Do not reuse the existing tracking issue.
+1. **Create a new tracking issue** for the new version (e.g., `-rc.2` if the bug was detected during `-rc.1`, or `x.y.2` if detected while monitoring `x.y.1`) by running the [`Release: Create Tracking Issue`](https://github.com/woocommerce/woocommerce/actions/workflows/release-create-tracking-issue.yml) workflow. Do not reuse the existing tracking issue.
 2. **Follow the release procedure as normal** for the new version.
 3. **Publish all draft releases** for the affected version series. Even if the prior version wasn't made publicly available, it must be published along with the valid version. Each version will have its own changelog section.

diff --git a/docs/contribution/releases/workflows.md b/docs/contribution/releases/workflows.md
new file mode 100644
index 0000000000..7712f1059a
--- /dev/null
+++ b/docs/contribution/releases/workflows.md
@@ -0,0 +1,73 @@
+---
+post_title: Release Workflows
+sidebar_label: Workflows
+sidebar_position: 9
+---
+
+# Release Workflows
+
+The WooCommerce release process is supported by a set of GitHub Actions workflows that automate repetitive tasks, enforce process guardrails, and send notifications. This page provides a reference of all release-related workflows, organized by how they are triggered.
+
+All workflows are defined in the [`.github/workflows/`](https://github.com/woocommerce/woocommerce/tree/trunk/.github/workflows) directory.
+
+## Scheduled workflows
+
+These workflows run automatically on a daily schedule.
+
+| Workflow | Schedule | What it does | When it acts |
+| -------- | -------- | ------------ | ------------ |
+| [Release: Assignment](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-assignment.yml) | Daily at 18:00 UTC | Checks the [release calendar](https://developer.woocommerce.com/release-calendar/), assigns the release lead, and creates the parent tracking issue with sub-issues for each release in the cycle. Calls *Create Tracking Issue* for each sub-issue. | ~8 weeks before feature freeze. |
+| [Release: Enforce Feature Freeze](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-code-freeze.yml) | Daily at 18:00 UTC | Checks the [release calendar](https://developer.woocommerce.com/release-calendar/) and creates the release branch from `trunk`, bumps `trunk` to the next dev version, publishes a dev release, cleans up old milestones, and sends Slack notifications. Calls *Bump version number* and *Build ZIP file*. | On the feature freeze date. |
+| [Release: Feature highlight notification](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-feature-highlights-notification.yml) | Daily at 09:00 UTC | Checks the [release calendar](https://developer.woocommerce.com/release-calendar/) and sends a Slack reminder to teams about the upcoming feature freeze deadline. | ~1 week before feature freeze. |
+| [Release: Open Issue Warning](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-open-issue-warning.yml) | Daily at 18:00 UTC | Checks the [release calendar](https://developer.woocommerce.com/release-calendar/) and looks for open items in release milestones, sending a Slack notification listing them with assignees. | Within 72 hours of a release date. |
+| [Nightly builds](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/nightly-builds.yml) | Daily at 00:00 UTC | Builds a nightly ZIP from `trunk` and uploads it to a GitHub release. Runs every day, independent of the release calendar. | Every day. |
+
+## Event-driven workflows
+
+These workflows are triggered automatically by GitHub events such as pull requests being merged, releases being published, or issues being labeled.
+
+### Cherry-pick and backport
+
+| Workflow | Trigger | What it does |
+| -------- | ------- | ------------ |
+| [Cherry-pick Milestoned PRs to Release Branches](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/cherry-pick-milestoned-prs.yml) | PR closed or milestoned on `trunk` | Cherry-picks from `trunk` to the `release/x.y` branch matching the PR milestone. Uses [`shared-cherry-pick`](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/shared-cherry-pick.yml) for the core logic. |
+| [Cherry-pick to Frozen Release](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/cherry-pick-to-frozen.yml) | PR merged on a `release/x.y` branch with the `cherry pick to frozen release` label | Cherry-picks from a `release/x.y` branch to the next (frozen) `release/x.y` branch. Uses [`shared-cherry-pick`](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/shared-cherry-pick.yml) for the core logic. |
+| [Cherry Pick to Trunk](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/cherry-pick-to-trunk.yml) | PR merged on a `release/x.y` branch with the `cherry pick to trunk` label | Cherry-picks from a `release/x.y` branch back to `trunk`. Uses [`shared-cherry-pick`](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/shared-cherry-pick.yml) for the core logic. |
+| [Block merge if cherry-pick conflicts exist](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-cherry-pick-pr-check-conflicts.yml) | PR events on `cherry-pick-*` branches | Fails CI when the `cherry pick has conflicts` label is present, preventing the PR from being merged until conflicts are resolved and the label is removed. |
+
+### Milestoning
+
+| Workflow | Trigger | What it does |
+| -------- | ------- | ------------ |
+| [Auto-Add Milestone to Release PRs](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/auto-milestone-release-prs.yml) | PR opened or reopened on a `release/x.y` branch | Assigns the matching milestone to PRs targeting a release branch. |
+| [Auto-assign milestone on merge](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/pr-auto-milestone-on-merge.yml) | PR closed on `trunk` | Assigns a milestone to PRs merged to `trunk` that don't already have one. |
+
+### Release events and validation
+
+| Workflow | Trigger | What it does |
+| -------- | ------- | ------------ |
+| [Release: Release events proxy](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-release-events-proxy.yml) | Release published or prereleased | Delegates to [`release-new-release-published`](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-new-release-published.yml) to run post-release actions: sends Slack notifications, updates the global changelog for stable releases, and calls *Generate Number of Commits and Contributors* for beta releases. |
+| [Release checks run](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/tests-on-release.yml) | Release published or edited | Runs the CI test suite against published releases. Also runs nightly on a schedule. |
+| ~~[Release: CFE and PRR issue validation](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-cfe-prr-issue-validation.yml)~~ | Issue labeled with `code freeze exception`, `point release request`, `Approved`, or `Rejected` | ~~Validates Code Freeze Exception and Point Release Request issues, applies labels and milestones to the associated PR, and sends Slack notifications.~~ Being deprecated. |
+
+## Manual workflows
+
+These workflows are triggered by the release lead during the release process. They are the workflows referenced in the [building and publishing guide](/docs/contribution/releases/building-and-publishing) and in the release tracking issues.
+
+### Building and publishing
+
+| Workflow | What it does |
+| -------- | ------------ |
+| [Release: Bump version number](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-bump-version.yml) | Updates version numbers across plugin files and creates a PR against the release branch. |
+| [Release: Compile changelog](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-compile-changelog.yml) | Compiles changelog entries and creates PRs against both `trunk` and the release branch. |
+| [Release: Build ZIP file](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-build-zip-file.yml) | Builds the release ZIP and optionally creates a draft GitHub release. |
+| [Release: Upload release to WordPress.org](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-upload-to-wporg.yml) | Uploads the release ZIP to WordPress.org SVN. |
+| [Release: Update stable tag](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-update-stable-tag.yml) | Updates the stable tag on WordPress.org and creates PRs to sync it in the repository. |
+
+### Tracking and analysis
+
+| Workflow | What it does |
+| -------- | ------------ |
+| [Release: Create Tracking Issue](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-create-tracking-issue.yml) | Creates a Linear tracking issue for a specific release version using the templates in `.linear/`. |
+| [Release: Generate Number of Commits and Contributors](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-commits-and-contributors.yml) | Generates release statistics (commit count, contributors list) and sends a Slack notification. |
+| [Release: analyze trends (CFEs and PRRs)](https://github.com/woocommerce/woocommerce/blob/trunk/.github/workflows/release-trends-analysis.yml) | Creates GitHub issues requesting AI analysis of Code Freeze Exceptions and Point Release Requests for a milestone. |