Skip to content

ci(release): add shared backport caller - #412

Merged
DariuszPorowski merged 1 commit into
mainfrom
dariuszporowski-dashboard-backport-caller
Oct 27, 2026
Merged

DariuszPorowski merged 1 commit into
mainfrom
dariuszporowski-dashboard-backport-caller

Conversation

@DariuszPorowski

@DariuszPorowski DariuszPorowski commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Summary

Install the thin, centrally managed release-backport workflow and link the shared contributor guide. The caller delegates to radius-project/.github/.github/workflows/__release-backport.yml@main; no core scripts, workflow tests, or other release behavior are changed.

Reason for change

Make dashboard backporting use the same centrally maintained workflow as the other participating Radius repositories.

Merge dependency: merge radius-project/.github#51 first, so the reusable workflow and linked guide exist on main before this caller is enabled.

Issue: N/A (planned maintainer work).

Rollout prerequisites: an administrator must confirm this repository can access RADIUS_RELEASE_BOT_CLIENT_ID and RADIUS_RELEASE_BOT_PRIVATE_KEY, and that the release App has Contents, Workflows, Issues, and Pull requests write permissions. No repository-local entries were listed; inherited organization-secret visibility returned 403, so secret availability is unverified, not absent. Existing release branches need caller bootstrap or manual queue invocation from main. Source PRs use squash; backport PRs use rebase, with no automatic merge. See the central release-backport guide.

How to test

  1. Use actionlint, yamllint, and markdownlint-cli2 (Node.js 24); no cluster or live workflow dispatch is needed. Compare .github/workflows/release-backport.yaml byte-for-byte with the immutable native source. Both SHA-256 values must be 275c0c973e7f30b929ed6014112579b8063e8c6d13a7639c6295f104f0201ddd.
  2. From the repository root, run the PowerShell commands below. Expect actionlint, the YAML rule check, and diff whitespace validation to pass. The YAML configuration already references a missing .yamlignore; the in-memory adjustment omits only that reference and does not change repository files or lint rules.
  3. Expect the contributor guide's existing two MD040 findings and one MD014 finding. Compare against origin/main using the baseline command in the results table; the findings must be unchanged. Inspect the caller's main/release/* labeled/closed PR events, release/* pushes, manual channel input, read-only job permissions, and two explicit App secrets.
actionlint .github\workflows\release-backport.yaml
$config = (Get-Content -Raw .github\linters\.yamllint.yml) -replace '(?m)^  - \.yamlignore\r?\n?', ''
yamllint -d $config .github\workflows\release-backport.yaml
markdownlint-cli2 --config .github\linters\.markdownlint-cli2.yaml CONTRIBUTING.md
git diff --check origin/main...HEAD

Local results (actionlint 1.7.12, yamllint 1.38.0, markdownlint-cli2 0.23.0, Node.js 24.16.0, Yarn 4.17.1):

Command/check Result
Immutable-source byte comparison Passed; SHA-256 matches above.
actionlint .github\workflows\release-backport.yaml Passed.
yamllint -c .github\linters\.yamllint.yml .github\workflows\release-backport.yaml Blocked by the pre-existing missing .yamlignore.
yamllint -d $config .github\workflows\release-backport.yaml with the exact in-memory configuration above Passed.
markdownlint-cli2 --config .github\linters\.markdownlint-cli2.yaml CONTRIBUTING.md Failed on the three pre-existing MD040/MD014 findings; no new findings.
git --no-pager show origin/main:CONTRIBUTING.md | markdownlint-cli2 --config .github\linters\.markdownlint-cli2.yaml - Reproduced the same three baseline findings.
corepack yarn tsc and corepack yarn lint:all Both blocked before checking: this worktree has no node_modules state file.
npm exec --yes --package=prettier@3.9.10 -- prettier --check .github\workflows\release-backport.yaml CONTRIBUTING.md Formatter restore blocked by npm EALLOWREMOTE remote-fetch policy; formatting check unavailable. No policy bypass attempted.
git diff --check origin/main...HEAD Passed.

Automatic CI: Build passed both Build Packages and Build and Publish Container. In CI, yarn run lint:all, yarn run format:check, yarn run tsc, yarn run test:all, yarn run test:e2e, yarn run test:e2e:components, and yarn run test:package passed. Container build, E2E, and image analysis also passed; registry publishing was skipped for this PR. DCO and Dependency Review passed.

Broad application tests/builds were not run locally for this workflow/docs-only change. No live backport/release dispatch, merge, or settings/labels/secrets change was performed. Administrator confirmation and post-merge operational validation remain rollout prerequisites.

File change summary

File Summary of change
.github/workflows/release-backport.yaml Install the exact centrally managed static caller with explicit App secrets and read-only job permissions.
CONTRIBUTING.md Add a short link to the central release-backport guide.

Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown

Dependency Review

The following issues were found:
  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 1 package(s) with unknown licenses.
See the Details below.

License Issues

.github/workflows/release-backport.yaml

PackageVersionLicenseIssue Type
radius-project/.github/.github/workflows/__release-backport.ymlmainNullUnknown License

OpenSSF Scorecard

PackageVersionScoreDetails
actions/radius-project/.github/.github/workflows/__release-backport.yml main UnknownUnknown

Scanned Files

  • .github/workflows/release-backport.yaml

@github-actions github-actions Bot added the pr:waiting-for-review A reviewer owns the next action; required approval is pending or unverifiable label Oct 26, 2026

@brooke-hamilton brooke-hamilton 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.

Reviewed the complete caller and documentation diff against the proposed shared workflow, action interface, native template, and rollout guide. No actionable issues found in this PR. The caller exactly matches the central native template and supplies its required input, permissions, and secrets. Merge radius-project/.github#51 first, as documented; App-secret access and existing release-branch bootstrap remain rollout prerequisites.

@DariuszPorowski
DariuszPorowski merged commit be7b150 into main Oct 27, 2026
10 checks passed
@DariuszPorowski
DariuszPorowski deleted the dariuszporowski-dashboard-backport-caller branch October 27, 2026 00:06
@github-actions github-actions Bot removed the pr:waiting-for-review A reviewer owns the next action; required approval is pending or unverifiable label Oct 27, 2026
DariuszPorowski added a commit that referenced this pull request Oct 27, 2026
Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

(cherry picked from commit be7b150)
Signed-off-by: radius-release[bot] <294554884+radius-release[bot]@users.noreply.github.com>
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.

2 participants