Add workflow to notify Radius repo on contrib updates - #160
Merged
Conversation
Add notify-radius.yaml workflow that fires a repository_dispatch event (type: resource-types-contrib-updated) to radius-project/radius whenever resource type manifests are updated on main. The Radius repo's contrib-update-resource-types workflow receives the dispatch and opens a PR to refresh the manifest copies committed under deploy/manifest/built-in-providers/. Merging that PR triggers the existing build-and-push-bicep-types job in build.yaml, which dispatches to radius-publisher to republish radius:latest with the updated types. Path filter uses broad YAML matching with .github/ and docs/ exclusions so new namespace folders are automatically covered without workflow changes. Only types listed in the Radius repo's defaults.yaml are included in the extension -- unlisted namespaces result in a no-op. Part of: unified Bicep extension publishing (PR 4/4) Signed-off-by: Karishma Chawla <kachawla@microsoft.com>
DariuszPorowski
requested changes
May 15, 2026
Closed
12 tasks
Signed-off-by: Karishma Chawla <kachawla@microsoft.com>
nithyatsu
approved these changes
May 19, 2026
shivg7795
pushed a commit
to shivg7795/resource-types-contrib-shivg
that referenced
this pull request
Jul 9, 2026
…#160) ## Overview Today the `radius` Bicep extension published to `biceptypes.azurecr.io` includes core namespaces (`Applications.Core`, `Applications.Dapr`, etc.) and, with [radius#11915](radius-project/radius#11915), also includes contrib resource types (`Radius.Compute`, `Radius.Data`, `Radius.Security`). However, when resource type manifests change in this repo, there is no automation to notify the Radius repo so it can refresh its manifest copies and republish the extension. This PR adds a workflow that fires a `repository_dispatch` event to `radius-project/radius` whenever resource type manifests are updated on `main`, triggering the Radius repo's automated sync and publish pipeline. ## End-to-end flow ``` resource-types-contrib merges to main | +--> notify-radius.yaml (this PR) fires repository_dispatch | +--> contrib-update-resource-types.yaml (radius repo) receives dispatch | +--> Runs 'make update-resource-types' to refresh manifest copies +--> Opens/updates PR on bot/update-resource-types branch | +--> Human reviews and merges the PR | +--> Push to main triggers build.yaml's existing build-and-push-bicep-types job | +--> Dispatches to radius-publisher +--> Publishes radius:latest to biceptypes.azurecr.io ``` ## What this PR adds ### `notify-radius.yaml` **Trigger:** Push to `main` touching any YAML file, excluding `.github/` and `docs/`. This avoids hardcoding namespace folder names (`Compute/`, `Data/`, `Security/`) so new top-level namespace folders are automatically covered without workflow changes. **What it does:** 1. Sends a `resource-types-contrib-updated` dispatch event to `radius-project/radius` using `peter-evans/repository-dispatch@v3` 2. Includes the commit SHA in the payload for traceability (informational only -- the Radius workflow always fetches `@latest`) 3. Writes a summary to the GitHub Actions UI **What happens if a non-manifest YAML changes?** The Radius workflow runs `make update-resource-types`, finds no diff, and exits cleanly without opening a PR. A no-op CI run (~1 minute) is the only cost. **What happens if a new namespace folder is added here but not in `defaults.yaml`?** Only types listed in the Radius repo's `deploy/manifest/defaults.yaml` are included in the extension. The dispatch fires but `make update-resource-types` finds no changes for the unlisted namespace and no PR is opened. The new types only appear in the extension when someone adds them to `defaults.yaml` in the Radius repo. ## Dependencies - Radius repo: [Add workflow to sync contrib resource types and publish Bicep extensions](radius-project/radius#11916) -- the receiver of the dispatch - Required secret: `GH_RAD_CI_BOT_PAT` with `repo` scope on `radius-project/radius` ## Changes - `.github/workflows/notify-radius.yaml`: New workflow ## Part of Unified Bicep extension publishing (PR 4/4). See [design doc](radius-project/radius#11892). --------- Signed-off-by: Karishma Chawla <kachawla@microsoft.com> Signed-off-by: shivg7795 <shivg@microsoft.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Today the
radiusBicep extension published tobiceptypes.azurecr.ioincludes core namespaces (Applications.Core,Applications.Dapr, etc.) and, with radius#11915, also includes contrib resource types (Radius.Compute,Radius.Data,Radius.Security). However, when resource type manifests change in this repo, there is no automation to notify the Radius repo so it can refresh its manifest copies and republish the extension.This PR adds a workflow that fires a
repository_dispatchevent toradius-project/radiuswhenever resource type manifests are updated onmain, triggering the Radius repo's automated sync and publish pipeline.End-to-end flow
What this PR adds
notify-radius.yamlTrigger: Push to
maintouching any YAML file, excluding.github/anddocs/. This avoids hardcoding namespace folder names (Compute/,Data/,Security/) so new top-level namespace folders are automatically covered without workflow changes.What it does:
resource-types-contrib-updateddispatch event toradius-project/radiususingpeter-evans/repository-dispatch@v3@latest)What happens if a non-manifest YAML changes? The Radius workflow runs
make update-resource-types, finds no diff, and exits cleanly without opening a PR. A no-op CI run (~1 minute) is the only cost.What happens if a new namespace folder is added here but not in
defaults.yaml? Only types listed in the Radius repo'sdeploy/manifest/defaults.yamlare included in the extension. The dispatch fires butmake update-resource-typesfinds no changes for the unlisted namespace and no PR is opened. The new types only appear in the extension when someone adds them todefaults.yamlin the Radius repo.Dependencies
GH_RAD_CI_BOT_PATwithreposcope onradius-project/radiusChanges
.github/workflows/notify-radius.yaml: New workflowPart of
Unified Bicep extension publishing (PR 4/4). See design doc.