Skip to content

build(refactor-release): publish edge artifact aliases - #12750

Draft
DariuszPorowski wants to merge 3 commits into
dp/split-build-workflowsfrom
dp/edge-tags-deprecation
Draft

DariuszPorowski wants to merge 3 commits into
dp/split-build-workflowsfrom
dp/edge-tags-deprecation

Conversation

@DariuszPorowski

@DariuszPorowski DariuszPorowski commented Aug 20, 2026

Copy link
Copy Markdown
Member

Summary

Publish mutable edge aliases for main-branch CLI OCI artifacts and multi-architecture container images while retaining latest as a temporary compatibility alias. Switch edge Helm charts and installers to consume edge for Radius-owned artifacts.

Deployment Engine and dashboard images remain on their independently published latest tags until those repositories adopt the edge convention.

Reason for change

This is PR 6 in GitHub stack #12738 and depends on #12749. It gives development artifacts their target edge semantics before latest is repointed to the most recent stable release at cutover.

How to test

  • make test-helm
  • helm lint deploy/Chart
  • make -n docker-multi-arch-tag DOCKER_REGISTRY=ghcr.io/radius-project DOCKER_SOURCE_TAG_VERSION=latest DOCKER_TAG_VERSION=edge
  • actionlint .github/workflows/__build-cli.yaml .github/workflows/__build-images.yaml
  • ghalint run scoped to the changed workflows
  • zizmor --pedantic .github/workflows/__build-cli.yaml .github/workflows/__build-images.yaml
  • shellcheck deploy/install.sh deploy/test-install.sh
  • pnpm exec markdownlint-cli2 deploy/Chart/README.md --config ./.github/linters/.markdownlint-cli2.yaml

File change summary

File Summary of change
.github/workflows/__build-cli.yaml Alias each main-branch CLI OCI artifact from latest to edge.
.github/workflows/__build-images.yaml, build/docker.mk Add and invoke manifest-only latest to edge aliases for all published images.
deploy/Chart/templates/, deploy/Chart/tests/helpers_test.yaml Resolve Radius-owned edge images to edge, retain external image compatibility, and test both paths.
deploy/install.sh, deploy/install.ps1, deploy/test-install.sh Pull edge CLI artifacts from :edge and verify the OCI reference deterministically.
deploy/Chart/README.md Document the latest deprecation and migration to edge.
eng/design-notes/tools/2026-09-goreleaser-stack-review/pr-06-edge-tags.md Review note for this layer: verdict, verification, and the findings left as-is.

@DariuszPorowski
DariuszPorowski requested review from a team as code owners August 20, 2026 20:33
@github-actions

Copy link
Copy Markdown

Dependency Review

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

Scanned Files

None

@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown

Unit Tests

0 tests  ±0   0 ✅ ±0   0s ⏱️ ±0s
0 suites ±0   0 💤 ±0 
0 files   ±0   0 ❌ ±0 

Results for commit f902278. ± Comparison against base commit 2fa119f.

♻️ This comment has been updated with latest results.

@codecov

codecov Bot commented Aug 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 59.79%. Comparing base (27cfd6e) to head (ca3692f).

Additional details and impacted files
@@                     Coverage Diff                      @@
##           dp/split-build-workflows   #12750      +/-   ##
============================================================
- Coverage                     59.80%   59.79%   -0.01%     
============================================================
  Files                           777      777              
  Lines                         45906    45906              
============================================================
- Hits                          27452    27451       -1     
- Misses                        18454    18455       +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown

Functional Tests - upgrade-noncloud

1 tests   0 ✅  5m 5s ⏱️
1 suites  0 💤
1 files    1 ❌

For more details on these failures, see this check.

Results for commit f902278.

♻️ This comment has been updated with latest results.

@DariuszPorowski
DariuszPorowski requested a lite review from Copilot August 20, 2026 21:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the Radius release/build and install surfaces to treat edge as the mutable “main-branch” alias for Radius-owned OCI artifacts and multi-arch container images, while preserving latest temporarily for compatibility. It also adjusts the Helm chart logic to keep externally published images (Deployment Engine and dashboard) on latest when deploying edge charts.

Changes:

  • Add latestedge aliasing for main-branch CLI OCI artifacts and multi-arch images in GitHub Actions / Make targets.
  • Switch edge installer paths (install.sh, install.ps1) and test coverage (test-install.sh) to pull :edge.
  • Update Helm chart image tag behavior and unit tests to use edge for Radius-owned images while retaining latest for externally published images on edge charts.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/workflows/__build-cli.yaml Tags main-branch CLI OCI artifacts from latest to edge.
.github/workflows/__build-images.yaml Adds a main-branch job step to alias multi-arch images from latest to edge.
build/docker.mk Introduces docker-multi-arch-tag targets to create manifest-only alias tags.
deploy/install.sh Switches edge CLI pull reference from :latest to :edge.
deploy/install.ps1 Switches edge CLI pull reference from :latest to :edge.
deploy/test-install.sh Updates the edge-with-oras test to stub oras and assert the :edge OCI reference.
deploy/Chart/templates/_helpers.tpl Makes edge a first-class tag for Radius-owned images and adds helper logic for external-image tagging.
deploy/Chart/templates/de/deployment.yaml Routes the Deployment Engine image tag through the external-image tag helper.
deploy/Chart/templates/dashboard/deployment.yaml Routes the dashboard image tag through the external-image tag helper.
deploy/Chart/tests/helpers_test.yaml Updates assertions for edge tag usage and adds coverage for external images staying on latest for edge charts.
deploy/Chart/README.md Documents the latest deprecation for main-branch consumption and the move to edge.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread deploy/test-install.sh
Comment on lines +358 to +362
echo "$*" > "${ORAS_ARGS_FILE}"
while [[ $# -gt 0 ]]; do
if [[ "$1" == "-o" ]]; then
output_dir="$2"
break
@DariuszPorowski
DariuszPorowski force-pushed the dp/edge-tags-deprecation branch from 480fc37 to e0c4a70 Compare August 20, 2026 22:31
@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown

Functional Tests - corerp-cloud

32 tests   31 ✅  19m 3s ⏱️
 2 suites   1 💤
 1 files     0 ❌

Results for commit 8c43de5.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown

Functional Tests - daprrp-noncloud

26 tests  ±0   26 ✅ ±0   13m 45s ⏱️ -15s
 1 suites ±0    0 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit 4757e88. ± Comparison against base commit 4709277.

♻️ This comment has been updated with latest results.

@DariuszPorowski
DariuszPorowski force-pushed the dp/edge-tags-deprecation branch from 8c43de5 to 4757e88 Compare August 21, 2026 16:39
@DariuszPorowski DariuszPorowski self-assigned this Aug 21, 2026
@DariuszPorowski
DariuszPorowski force-pushed the dp/edge-tags-deprecation branch from 4757e88 to 11de984 Compare August 24, 2026 15:25
@DariuszPorowski DariuszPorowski linked an issue Aug 24, 2026 that may be closed by this pull request
@DariuszPorowski DariuszPorowski linked an issue Aug 25, 2026 that may be closed by this pull request
4 tasks
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

Functional Tests - corerp-noncloud

190 tests   188 ✅  59m 4s ⏱️
  3 suites    2 💤
  1 files      0 ❌

Results for commit f33dc86.

♻️ This comment has been updated with latest results.

@DariuszPorowski
DariuszPorowski force-pushed the dp/edge-tags-deprecation branch from ead6402 to f33dc86 Compare September 9, 2026 17:41
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

Functional Tests - kubernetes-noncloud

23 tests   23 ✅  8m 32s ⏱️
 1 suites   0 💤
 1 files     0 ❌

Results for commit 7aac739.

♻️ This comment has been updated with latest results.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

The PowerShell edge path lacks regression coverage, and related contributor documentation remains stale.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 11/11 changed files
  • Comments generated: 3
  • Review effort level: Balanced

Comment thread deploy/install.ps1
}

$downloadURL = "ghcr.io/$GitHubOrg/rad/$DetectedOS-$($DetectedArch):latest"
$downloadURL = "ghcr.io/$GitHubOrg/rad/$DetectedOS-$($DetectedArch):edge"
Comment thread build/docker.mk
Comment on lines +191 to +192
.PHONY: docker-multi-arch-tag
docker-multi-arch-tag: $(DOCKER_TAG_MULTI_TARGETS) ## Adds a tag to all published multi-architecture images.
Comment on lines +12 to +15
{{/* External images retain their independently published latest tag for edge charts. */}}
{{- define "radius.externalversiontag" -}}
{{- $version := . | toString -}}
{{- if eq $version "edge" -}}latest{{- else -}}{{ $version }}{{- end -}}
@DariuszPorowski
DariuszPorowski force-pushed the dp/edge-tags-deprecation branch 2 times, most recently from 46859ac to 53efc93 Compare September 10, 2026 20:47
@DariuszPorowski
DariuszPorowski force-pushed the dp/edge-tags-deprecation branch 2 times, most recently from d277966 to d787043 Compare September 11, 2026 15:07
@radius-functional-tests

radius-functional-tests Bot commented Sep 15, 2026

Copy link
Copy Markdown

Radius functional test overview

🔍 Go to test action run

Click here to see the test run details
Name Value
Repository radius-project/radius
Commit ref ca3692f
Unique ID func600052949c
Image tag pr-func600052949c
  • Dapr: 1.14.4
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.3.0
  • Bicep recipe location ghcr.io/radius-project/dev/test/testrecipes/test-bicep-recipes/<name>:pr-func600052949c
  • Terraform recipe location http://tf-module-server.radius-test-tf-module-server.svc.cluster.local/<name>.zip (in cluster)
  • applications-rp test image location: ghcr.io/radius-project/dev/applications-rp:pr-func600052949c
  • dynamic-rp test image location: ghcr.io/radius-project/dev/dynamic-rp:pr-func600052949c
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-func600052949c
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-func600052949c
  • deployment-engine test image location: ghcr.io/radius-project/deployment-engine:latest

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting corerp-cloud functional tests...
⌛ Starting ucp-cloud functional tests...
✅ ucp-cloud functional tests succeeded
✅ corerp-cloud functional tests succeeded

Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
@radius-functional-tests

Copy link
Copy Markdown

Radius functional test overview

🔍 Go to test action run

Click here to see the test run details
Name Value
Repository radius-project/radius
Commit ref f902278
Unique ID func77843275a7
Image tag pr-func77843275a7
  • Dapr: 1.14.4
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.3.0
  • Bicep recipe location ghcr.io/radius-project/dev/test/testrecipes/test-bicep-recipes/<name>:pr-func77843275a7
  • Terraform recipe location http://tf-module-server.radius-test-tf-module-server.svc.cluster.local/<name>.zip (in cluster)
  • applications-rp test image location: ghcr.io/radius-project/dev/applications-rp:pr-func77843275a7
  • dynamic-rp test image location: ghcr.io/radius-project/dev/dynamic-rp:pr-func77843275a7
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-func77843275a7
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-func77843275a7
  • deployment-engine test image location: ghcr.io/radius-project/deployment-engine:latest

Test Status

@DariuszPorowski
DariuszPorowski removed this pull request from stack #12738 September 17, 2026 21:54
@DariuszPorowski
DariuszPorowski added this pull request to stack #13045 September 17, 2026 21:56
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.

Introduce edge tags and deprecate latest-as-edge Migrate release automation to GoReleaser

2 participants