From 12638720f1321e6b58bc2d3d43ae44e37b7f47b7 Mon Sep 17 00:00:00 2001 From: Nithya Subramanian Date: Thu, 8 Oct 2026 12:54:51 -0700 Subject: [PATCH 1/2] docs(releases): note the compiled Kubernetes recipe pack in the release steps Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Nithya Subramanian --- docs/contributing/contributing-releases/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/contributing/contributing-releases/README.md b/docs/contributing/contributing-releases/README.md index 57d8045183..453bfd9bc8 100644 --- a/docs/contributing/contributing-releases/README.md +++ b/docs/contributing/contributing-releases/README.md @@ -171,9 +171,9 @@ This detailed release log helps the team improve future releases by reviewing th Complete this step **before updating `versions.yaml` or starting the Radius release automation** so the release includes the intended resource types. 1. In `radius-project/resource-types-contrib`, run the [Release Namespace](https://github.com/radius-project/resource-types-contrib/actions/workflows/release-namespace.yaml) workflow from `main` for each namespace consumed by Radius under `resourceTypes` in [`deploy/manifest/defaults.yaml`](../../../deploy/manifest/defaults.yaml). Select the namespace and the appropriate semantic version `bump` (`patch`, `minor`, or `major`). Leave `prerelease_label` empty and `dry_run` and `force` disabled. Namespace versions are independent of the Radius version; even for a Radius RC, publish stable namespace releases because prereleases do not notify Radius. -2. In the same repository, run the [Release Recipe Pack](https://github.com/radius-project/resource-types-contrib/actions/workflows/release-recipe-pack.yaml) workflow from `main` for each pack listed under `recipePacks` in [`deploy/manifest/defaults.yaml`](../../../deploy/manifest/defaults.yaml). Select the pack and the appropriate `bump`. Leave `prerelease_label` empty and `dry_run` and `force` disabled. Pack versions are independent of the Radius version. A pack that hasn't changed since its last release is skipped. The workflow fails if any recipe image the pack references can't be pulled. +2. In the same repository, run the [Release Recipe Pack](https://github.com/radius-project/resource-types-contrib/actions/workflows/release-recipe-pack.yaml) workflow from `main` for each pack listed under `recipePacks` in [`deploy/manifest/defaults.yaml`](../../../deploy/manifest/defaults.yaml). Select the pack and the appropriate `bump`. Leave `prerelease_label` empty and `dry_run` and `force` disabled. Pack versions are independent of the Radius version. A pack that hasn't changed since its last release is skipped. The workflow fails if any recipe image the pack references can't be pulled. Release the `kubernetes` pack whenever its recipes change: `rad` creates the default recipe pack from the pinned release, so an unreleased change does not reach Radius. 3. Wait for each namespace and recipe pack workflow to succeed. An unchanged namespace is skipped and does not need a new release. For each published release, confirm that [Notify Radius](https://github.com/radius-project/resource-types-contrib/actions/workflows/notify-radius.yaml) succeeds and triggers Radius's [Update Resource Types](https://github.com/radius-project/radius/actions/workflows/update-resource-types.yaml) workflow. -4. Wait for all namespace and recipe pack updates to finish, then review the generated `chore(resource-types-contrib): updates` PR from `bot/update-resource-types` in `radius-project/radius`. Successive notifications refresh the same open PR. Confirm that `deploy/manifest/defaults.yaml` pins the intended stable namespace and recipe pack releases and that the copied manifests and generated artifacts are included. Wait for required checks and approval, then **merge the PR into `main` before proceeding**. If all namespaces are unchanged and Radius already has the intended pins, no new PR is required. +4. Wait for all namespace and recipe pack updates to finish, then review the generated `chore(resource-types-contrib): updates` PR from `bot/update-resource-types` in `radius-project/radius`. Successive notifications refresh the same open PR. Confirm that `deploy/manifest/defaults.yaml` pins the intended stable namespace and recipe pack releases and that the copied manifests, the compiled Kubernetes recipe pack (`deploy/manifest/recipe-packs/kubernetes/default.json`), and generated artifacts are included. Wait for required checks and approval, then **merge the PR into `main` before proceeding**. If all namespaces are unchanged and Radius already has the intended pins, no new PR is required. 5. Record the namespace and recipe pack releases and merged update PR in the Teams release thread. For the first RC, the release branch will inherit this update from `main`. For a subsequent RC, use [Backporting changes to a release branch](#backporting-changes-to-a-release-branch) to merge any new resource-type or recipe-pack update into `release/X.Y` before preparing the release. > **Stop if the update is missing or incomplete.** Inspect the namespace release, notification, and Radius update workflow runs and resolve failures before continuing. Publishing namespace releases alone is not enough: their resource-type update must be merged into the code that Radius will release. From 7aafae21aeba76b047b494653b058d6825176712 Mon Sep 17 00:00:00 2001 From: Nithya Subramanian Date: Thu, 8 Oct 2026 18:20:52 -0700 Subject: [PATCH 2/2] docs(releases): expect the compiled pack only when the kubernetes pin changes Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Nithya Subramanian --- docs/contributing/contributing-releases/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/contributing/contributing-releases/README.md b/docs/contributing/contributing-releases/README.md index 453bfd9bc8..ba497dfc81 100644 --- a/docs/contributing/contributing-releases/README.md +++ b/docs/contributing/contributing-releases/README.md @@ -173,7 +173,7 @@ Complete this step **before updating `versions.yaml` or starting the Radius rele 1. In `radius-project/resource-types-contrib`, run the [Release Namespace](https://github.com/radius-project/resource-types-contrib/actions/workflows/release-namespace.yaml) workflow from `main` for each namespace consumed by Radius under `resourceTypes` in [`deploy/manifest/defaults.yaml`](../../../deploy/manifest/defaults.yaml). Select the namespace and the appropriate semantic version `bump` (`patch`, `minor`, or `major`). Leave `prerelease_label` empty and `dry_run` and `force` disabled. Namespace versions are independent of the Radius version; even for a Radius RC, publish stable namespace releases because prereleases do not notify Radius. 2. In the same repository, run the [Release Recipe Pack](https://github.com/radius-project/resource-types-contrib/actions/workflows/release-recipe-pack.yaml) workflow from `main` for each pack listed under `recipePacks` in [`deploy/manifest/defaults.yaml`](../../../deploy/manifest/defaults.yaml). Select the pack and the appropriate `bump`. Leave `prerelease_label` empty and `dry_run` and `force` disabled. Pack versions are independent of the Radius version. A pack that hasn't changed since its last release is skipped. The workflow fails if any recipe image the pack references can't be pulled. Release the `kubernetes` pack whenever its recipes change: `rad` creates the default recipe pack from the pinned release, so an unreleased change does not reach Radius. 3. Wait for each namespace and recipe pack workflow to succeed. An unchanged namespace is skipped and does not need a new release. For each published release, confirm that [Notify Radius](https://github.com/radius-project/resource-types-contrib/actions/workflows/notify-radius.yaml) succeeds and triggers Radius's [Update Resource Types](https://github.com/radius-project/radius/actions/workflows/update-resource-types.yaml) workflow. -4. Wait for all namespace and recipe pack updates to finish, then review the generated `chore(resource-types-contrib): updates` PR from `bot/update-resource-types` in `radius-project/radius`. Successive notifications refresh the same open PR. Confirm that `deploy/manifest/defaults.yaml` pins the intended stable namespace and recipe pack releases and that the copied manifests, the compiled Kubernetes recipe pack (`deploy/manifest/recipe-packs/kubernetes/default.json`), and generated artifacts are included. Wait for required checks and approval, then **merge the PR into `main` before proceeding**. If all namespaces are unchanged and Radius already has the intended pins, no new PR is required. +4. Wait for all namespace and recipe pack updates to finish, then review the generated `chore(resource-types-contrib): updates` PR from `bot/update-resource-types` in `radius-project/radius`. Successive notifications refresh the same open PR. Confirm that `deploy/manifest/defaults.yaml` pins the intended stable namespace and recipe pack releases and that the copied manifests and generated artifacts are included. If the PR changes the `kubernetes` recipe pack pin, it should also update the compiled pack (`deploy/manifest/recipe-packs/kubernetes/default.json`) unless the new release left the pack's Bicep unchanged. Wait for required checks and approval, then **merge the PR into `main` before proceeding**. If all namespaces are unchanged and Radius already has the intended pins, no new PR is required. 5. Record the namespace and recipe pack releases and merged update PR in the Teams release thread. For the first RC, the release branch will inherit this update from `main`. For a subsequent RC, use [Backporting changes to a release branch](#backporting-changes-to-a-release-branch) to merge any new resource-type or recipe-pack update into `release/X.Y` before preparing the release. > **Stop if the update is missing or incomplete.** Inspect the namespace release, notification, and Radius update workflow runs and resolve failures before continuing. Publishing namespace releases alone is not enough: their resource-type update must be merged into the code that Radius will release.