Skip to content

Add workflow to notify Radius repo on contrib updates - #160

Merged
kachawla merged 4 commits into
mainfrom
kachawla/notify-radius
May 19, 2026
Merged

Add workflow to notify Radius repo on contrib updates#160
kachawla merged 4 commits into
mainfrom
kachawla/notify-radius

Conversation

@kachawla

@kachawla kachawla commented May 15, 2026

Copy link
Copy Markdown
Member

Overview

Today the radius Bicep extension published to biceptypes.azurecr.io includes 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_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

Changes

  • .github/workflows/notify-radius.yaml: New workflow

Part of

Unified Bicep extension publishing (PR 4/4). See design doc.

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>
@kachawla
kachawla requested review from a team as code owners May 15, 2026 23:00
Comment thread .github/workflows/notify-radius.yaml Outdated
Signed-off-by: Karishma Chawla <kachawla@microsoft.com>

@DariuszPorowski DariuszPorowski left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@kachawla
kachawla merged commit f63a06c into main May 19, 2026
3 checks passed
@kachawla
kachawla deleted the kachawla/notify-radius branch May 19, 2026 18:18
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants