Skip to content

Add resource type sync step to the release process#11912

Open
kachawla wants to merge 9 commits into
mainfrom
kachawla/release-process-resource-types
Open

Add resource type sync step to the release process#11912
kachawla wants to merge 9 commits into
mainfrom
kachawla/release-process-resource-types

Conversation

@kachawla
Copy link
Copy Markdown
Member

Overview

Add a new step to the RC release process documenting when and how to run make update-resource-types before each release.

This is PR 3 from the automated default resource type registration design.

Changes

  • Added Step 3: Update default resource types to the RC release process in docs/contributing/contributing-releases/README.md
  • Renumbered subsequent steps (4→5, 5→6, etc.) and updated cross-references
  • Includes guidance on handling schema validation failures:
    • Fix forward: Correct the manifest in resource-types-contrib, merge, and re-run make update-resource-types
    • Pin to last known good: Revert the go.mod change and run make sync-resource-types to restore matching manifests

Depends on

@kachawla kachawla requested review from a team as code owners May 15, 2026 17:32
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 15, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@kachawla
Copy link
Copy Markdown
Member Author

Note: This PR currently targets the kachawla/automate-resource-types branch (PR #11911). Once #11911 is merged, I'll update the base to main.

### Step 3: Update default resource types

Ensure the default resource type manifests are up to date with the latest `resource-types-contrib` definitions:

Copy link
Copy Markdown
Contributor

@lakshmimsft lakshmimsft May 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

checking: this is to be run in resource-types-contrib repo or radius? maybe we can make that explicit.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch - this runs in the radius repo. Updated to be explicit.

1. **Fix forward**: Correct the manifest in `resource-types-contrib`, merge the fix, then re-run `make update-resource-types`.
2. **Pin to last known good version**: Revert the `go.mod` change to keep the previous `resource-types-contrib` version and run `make sync-resource-types` to restore the matching manifests.

Open a separate PR with the updated `go.mod`, `go.sum`, and manifest files. Merge it before proceeding to the `versions.yaml` update.
Copy link
Copy Markdown
Contributor

@lakshmimsft lakshmimsft May 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pls specify we merge this into 'main' branch and which repo?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a PR targeting main in radius. Updated to clarify. Thanks for reviewing

Comment thread docs/contributing/contributing-releases/README.md
kachawla added 4 commits May 15, 2026 11:51
Replace manually-maintained per-namespace manifest files with per-type
manifest files copied from resource-types-contrib. This eliminates
schema drift by making resource-types-contrib the single source of
truth for resource type schemas that ship as defaults in Radius.

File layout change: Previously, built-in-providers/ contained one YAML
file per namespace (e.g. radius_compute.yaml with containers, routes,
and persistentVolumes all in one file). Now each resource type has its
own file (containers.yaml, routes.yaml, persistentVolumes.yaml, etc.),
matching the per-type file layout in resource-types-contrib. This makes
it straightforward to map defaults.yaml entries to files and keeps diffs
scoped to the type that changed.

Changes:
- Add deploy/manifest/defaults.yaml listing default resource types
- Add build/resource-types.mk with update-resource-types and
  sync-resource-types Makefile targets
- Add pkg/resourcetypescontrib/import.go with a blank import to keep
  resource-types-contrib in go.mod across go mod tidy
- Add go.mod dependency on resource-types-contrib pinned to
  v0.0.0-20260515162318-067b29d71eb8
- Copy per-type manifest files from resource-types-contrib into both
  dev/ and self-hosted/ directories
- Remove old per-namespace files (radius_compute.yaml,
  radius_data.yaml, radius_security.yaml) from both directories
- Add .github/workflows/verify-resource-types.yaml for CI drift
  detection
- Add integration test for no-location manifest registration

The copied manifests have no 'location' field, so UCP routes requests
via DefaultDownstreamEndpoint (dynamic-rp), matching existing behavior.

Signed-off-by: Karishma Chawla <kachawla@microsoft.com>
Shell comments (#) inside multi-line backslash-continued recipe blocks
break the continuation chain, causing 'Syntax error: end of file
unexpected' in CI. Move all inline comments to standalone @# lines
before the shell block they describe.

Signed-off-by: Karishma Chawla <kachawla@microsoft.com>
Signed-off-by: Karishma Chawla <kachawla@microsoft.com>
Verify the global location resource is created with no address property,
confirming UCP will use DefaultDownstreamEndpoint for routing.

Signed-off-by: Karishma Chawla <kachawla@microsoft.com>
@kachawla kachawla force-pushed the kachawla/automate-resource-types branch from 5a5922a to e2af82c Compare May 15, 2026 18:52
@kachawla kachawla requested a review from a team as a code owner May 15, 2026 18:52
kachawla added 3 commits May 15, 2026 11:52
Add Step 3 (Update default resource types) to the RC release process,
instructing release engineers to run 'make update-resource-types' before
cutting each release. This ensures the latest resource type schemas from
resource-types-contrib are included.

Includes guidance on handling schema validation failures: either fix
the manifest upstream and re-bump, or pin to the last known good version.

The resource type update should be done in a separate PR that is merged
before the versions.yaml change.

Signed-off-by: Karishma Chawla <kachawla@microsoft.com>
Signed-off-by: Karishma Chawla <kachawla@microsoft.com>
Signed-off-by: Karishma Chawla <kachawla@microsoft.com>
@kachawla kachawla force-pushed the kachawla/release-process-resource-types branch from 01dcf2d to 0cd6837 Compare May 15, 2026 18:53
lakshmimsft
lakshmimsft previously approved these changes May 15, 2026
Base automatically changed from kachawla/automate-resource-types to main May 15, 2026 21:37
@kachawla kachawla dismissed lakshmimsft’s stale review May 15, 2026 21:37

The base branch was changed.

@kachawla kachawla requested a review from lakshmimsft May 15, 2026 22:06
Copilot AI review requested due to automatic review settings May 16, 2026 00:11
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds release-process documentation for syncing default resource type manifests before updating versions.yaml, aligning RC release steps with the automated resource type registration workflow.

Changes:

  • Adds a new RC release step to run make update-resource-types.
  • Documents recovery options for failed updates or schema validation issues.
  • Renumbers later RC release steps and updates related cross-references.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants