Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
d49d3d2
Run Azure functional tests locally against OS-process Radius
sylvainsf May 14, 2026
cc77ff9
Merge branch 'main' into local-functional
nicolejms May 19, 2026
41193c2
Fix resource types missing from rad resource-type list with per-type …
kachawla May 19, 2026
d1dae27
build(deps): bump the github-actions group across 1 directory with 2 …
dependabot[bot] May 19, 2026
c7665ec
docs: require signed commits (#11873)
Copilot May 19, 2026
1e0c593
Hydrate Radius.Core schemas from OpenAPI (#11881)
willdavsmith May 19, 2026
4c2a92d
Add workflow to sync contrib resource types and publish Bicep extensi…
kachawla May 19, 2026
db722fa
build(deps): bump github.com/go-git/go-git/v5 from 5.19.0 to 5.19.1 (…
dependabot[bot] May 19, 2026
4d3ce52
build(deps): bump the npm-dependencies group across 3 directories wit…
dependabot[bot] May 19, 2026
32df041
chore(release): 0.58.0-rc1 (#11960)
DariuszPorowski May 19, 2026
bb159e8
build(deps): bump the go-dependencies group across 1 directory with 2…
dependabot[bot] May 20, 2026
50c54ec
build(deps): bump the github-actions group across 2 directories with …
dependabot[bot] May 20, 2026
c2049c9
Revert Deployment Engine image tag pin in Helm chart (#11906)
brooke-hamilton May 20, 2026
3d2720d
Add rad app show/list/delete --preview (#11935)
lakshmimsft May 20, 2026
c4174fc
fix: tenant validation (#11967)
DariuszPorowski May 21, 2026
8fa2217
build(deps): bump ghcr.io/devcontainers/features/docker-in-docker fro…
dependabot[bot] May 21, 2026
72050b2
build(deps): bump actions/stale from 10.2.0 to 10.3.0 in the github-a…
dependabot[bot] May 21, 2026
ed840d8
Run Azure functional tests locally against OS-process Radius
sylvainsf May 14, 2026
053fe0e
Make functional tests workspace-aware and stabilize local debug stack
sylvainsf May 20, 2026
8be9a40
fixup: do not auto-enable PlainHTTP for loopback registries
sylvainsf May 21, 2026
8a4ed22
fix(database/postgres): cast pagination token to TIMESTAMPTZ
sylvainsf Jun 4, 2026
9392f31
Stabilize local OS-process debug stack and skip incompatible tests
sylvainsf Jun 4, 2026
900df88
Merge remote-tracking branch 'upstream/local-functional' into local-f…
sylvainsf Jun 4, 2026
99d085d
docs(contributing): publish noncloud functional test learnings
sylvainsf Jun 4, 2026
605e862
fix(ci): unblock spellcheck and release-note workflow
sylvainsf Jun 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 45 additions & 14 deletions build/debug.mk
Original file line number Diff line number Diff line change
Expand Up @@ -209,14 +209,25 @@ debug-build-rad: ## Build rad CLI with debug symbols + create drad alias
@echo "💡 Use './drad' for debug-configured CLI (preserves 'rad' for your installed version)"

debug-start: debug-setup debug-build-all ## Start k3d cluster and all Radius components as OS processes
@echo "Creating k3d cluster..."
@if k3d cluster list | grep -q "radius-debug"; then \
echo "k3d cluster 'radius-debug' already exists"; \
@echo "Ensuring k3d cluster 'radius-debug' is running..."
@if k3d cluster list --no-headers 2>/dev/null | awk '{print $$1}' | grep -qx "radius-debug"; then \
servers=$$(k3d cluster list --no-headers 2>/dev/null | awk '$$1=="radius-debug"{print $$2}'); \
running=$$(echo "$$servers" | cut -d/ -f1); \
if [ "$$running" = "0" ]; then \
echo "k3d cluster 'radius-debug' exists but is stopped — starting it..."; \
k3d cluster start radius-debug; \
else \
echo "k3d cluster 'radius-debug' already running ($$servers servers)"; \
fi; \
else \
echo "Creating k3d cluster 'radius-debug'..."; \
k3d cluster create radius-debug --api-port 0.0.0.0:6443 --wait --timeout 60s; \

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.

running this i hit an error with port already in use. should we consider updating this to get next available port if this is in use?

fi
@echo "Switching to k3d context..."
@kubectl config use-context k3d-radius-debug
@echo "Ensuring radius-encryption-key secret exists in k3d cluster..."
@chmod +x build/scripts/ensure-encryption-key.sh 2>/dev/null || true
@build/scripts/ensure-encryption-key.sh
@echo "Starting Radius components as OS processes..."
@build/scripts/start-radius.sh
@echo "Waiting for components to be ready..."
Expand Down Expand Up @@ -281,17 +292,30 @@ debug-deployment-engine-pull: ## Pull latest deployment engine image from ghcr.i
&& echo "✅ Deployment Engine image pulled successfully" \
|| echo "❌ Failed to pull Deployment Engine image"

debug-deployment-engine-start: ## Start deployment engine in k3d cluster
@echo "Installing ONLY deployment engine to k3d cluster..."
@if kubectl --context k3d-radius-debug get deployment deployment-engine >/dev/null 2>&1 && \
kubectl --context k3d-radius-debug get deployment deployment-engine -o jsonpath='{.status.readyReplicas}' 2>/dev/null | grep -q "1" && \
curl -s "http://localhost:5017/metrics" > /dev/null 2>&1; then \
echo "✅ Deployment engine already running and healthy"; \
debug-deployment-engine-start: ## Start deployment engine in k3d cluster (or reuse a local OS process on port 5017)
@echo "Checking for an existing Deployment Engine on localhost:5017..."
@listener_cmd=""; \
if command -v lsof >/dev/null 2>&1; then \
listener_cmd=$$(lsof -nP -iTCP:5017 -sTCP:LISTEN 2>/dev/null | awk 'NR==2 {print $$1}'); \
fi; \
if [ -n "$$listener_cmd" ] && [ "$$listener_cmd" != "kubectl" ] && curl -s "http://localhost:5017/metrics" > /dev/null 2>&1; then \
Comment on lines +621 to +624
echo "✅ Detected local Deployment Engine process ($$listener_cmd) on port 5017 — reusing it"; \
echo "💡 Skipping k3d deployment-engine install and port-forward"; \
mkdir -p $(DEBUG_DEV_ROOT)/logs; \
echo "external" > $(DEBUG_DEV_ROOT)/logs/de-external.marker; \
else \
$(MAKE) debug-deployment-engine-deploy; \
$(MAKE) debug-deployment-engine-port-forward; \
rm -f $(DEBUG_DEV_ROOT)/logs/de-external.marker 2>/dev/null || true; \
echo "Installing ONLY deployment engine to k3d cluster..."; \
if kubectl --context k3d-radius-debug get deployment deployment-engine >/dev/null 2>&1 && \
kubectl --context k3d-radius-debug get deployment deployment-engine -o jsonpath='{.status.readyReplicas}' 2>/dev/null | grep -q "1" && \
curl -s "http://localhost:5017/metrics" > /dev/null 2>&1; then \
echo "✅ Deployment engine already running and healthy in k3d"; \
else \
$(MAKE) debug-deployment-engine-deploy; \
$(MAKE) debug-deployment-engine-port-forward; \
fi; \
echo "✅ Deployment engine installed and ready in k3d cluster"; \
fi
@echo "✅ Deployment engine installed and ready in k3d cluster"

debug-deployment-engine-deploy: ## Deploy deployment engine to k3d cluster
@echo "Applying deployment engine manifest to k3d cluster..."
Expand All @@ -302,7 +326,12 @@ debug-deployment-engine-deploy: ## Deploy deployment engine to k3d cluster
debug-deployment-engine-port-forward: ## Set up port forwarding for deployment engine
@build/scripts/setup-deployment-engine-port-forward.sh

debug-deployment-engine-stop: ## Stop deployment engine in k3d cluster
debug-deployment-engine-stop: ## Stop deployment engine in k3d cluster (leaves external local DE process alone)
@if [ -f $(DEBUG_DEV_ROOT)/logs/de-external.marker ]; then \
echo "ℹ️ External local Deployment Engine was in use — leaving it running"; \
rm -f $(DEBUG_DEV_ROOT)/logs/de-external.marker; \
exit 0; \
fi
@echo "Removing deployment engine from k3d cluster..."
@if [ -f $(DEBUG_DEV_ROOT)/logs/de-port-forward.pid ]; then \
kill $$(cat $(DEBUG_DEV_ROOT)/logs/de-port-forward.pid) 2>/dev/null || true; \
Expand All @@ -315,7 +344,9 @@ debug-deployment-engine-stop: ## Stop deployment engine in k3d cluster

debug-deployment-engine-status: ## Check deployment engine status
@echo "🚀 Deployment Engine Status:"
@if kubectl --context k3d-radius-debug get deployment deployment-engine >/dev/null 2>&1; then \
@if [ -f $(DEBUG_DEV_ROOT)/logs/de-external.marker ] && curl -s "http://localhost:5017/metrics" > /dev/null 2>&1; then \
echo "✅ Deployment Engine (external local process on :5017) - Running"; \
elif kubectl --context k3d-radius-debug get deployment deployment-engine >/dev/null 2>&1; then \
replicas=$$(kubectl --context k3d-radius-debug get deployment deployment-engine -o jsonpath='{.status.readyReplicas}' 2>/dev/null || echo "0"); \
if [ "$$replicas" = "1" ]; then \
echo "✅ Deployment Engine (k3d) - Running and ready"; \
Expand Down
Loading
Loading