Skip to content

Conversation

@nellshamrell
Copy link
Contributor

@nellshamrell nellshamrell commented Nov 18, 2025

  • changes the name of the downloaded bicep binary from "rad-bicep" to "bicep"

Description

This changes the name of the downloaded bicep binary from "rad-bicep" to "bicep"

Type of change

  • This pull request adds or changes features of Radius and has an approved issue (issue link required).

Fixes: #10383

Contributor checklist

Please verify that the PR meets the following requirements, where applicable:

  • An overview of proposed schema changes is included in a linked GitHub issue.
    • Yes
    • Not applicable
  • A design document PR is created in the design-notes repository, if new APIs are being introduced.
    • Yes
    • Not applicable
  • The design document has been reviewed and approved by Radius maintainers/approvers.
    • Yes
    • Not applicable
  • A PR for the samples repository is created, if existing samples are affected by the changes in this PR.
    • Yes
    • Not applicable
  • A PR for the documentation repository is created, if the changes in this PR affect the documentation or any user facing updates are made.
    • Yes
    • Not applicable
  • A PR for the recipes repository is created, if existing recipes are affected by the changes in this PR.
    • Yes
    • Not applicable

Here is a link to the relevant docs PR radius-project/docs#1597

@nellshamrell nellshamrell requested review from a team as code owners November 18, 2025 22:57
@nellshamrell nellshamrell force-pushed the update-downloaded-bicep-binary-name branch from 9f63128 to 55566c8 Compare November 18, 2025 22:59
@nellshamrell nellshamrell changed the title Fixes: #10383 Fix name of bicep binary Nov 18, 2025
@sk593
Copy link
Contributor

sk593 commented Nov 18, 2025

Code change looks good! Just some comments on documentation and naming references in the repo :)

We have a few test scripts that might rely on the rad-bicep naming:

test-validate-bicep: ## Validates that all .bicep files compile cleanly

There are also references to rad-bicep in our install scripts and some code. I think it'd make sense to update that as part of this PR too. These are just a few references that I remember, but there might be others.

echo "Installing rad-bicep (\"rad bicep download\")..."

Write-Warning "`r`nFailed to install rad-bicep"

func runBicepRaw(args ...string) ([]byte, error) {

@codecov
Copy link

codecov bot commented Nov 19, 2025

Codecov Report

❌ Patch coverage is 0% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 50.70%. Comparing base (4a526e7) to head (517a143).

Files with missing lines Patch % Lines
pkg/cli/bicep/build.go 0.00% 4 Missing ⚠️
pkg/cli/bicep/types.go 0.00% 2 Missing ⚠️
pkg/cli/bicep/bicep.go 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #10838      +/-   ##
==========================================
- Coverage   50.70%   50.70%   -0.01%     
==========================================
  Files         675      675              
  Lines       42456    42456              
==========================================
- Hits        21529    21527       -2     
- Misses      18858    18859       +1     
- Partials     2069     2070       +1     

☔ View full report in Codecov by Sentry.
📢 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.

@nellshamrell nellshamrell force-pushed the update-downloaded-bicep-binary-name branch 2 times, most recently from 0cbbc82 to 7c99f5f Compare December 12, 2025 22:04
@nellshamrell
Copy link
Contributor Author

Apologies for the long delay in responding! I did a text search and have updated all references to rad-bicep.

Copy link
Contributor

Copilot AI left a comment

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 renames the Bicep binary from "rad-bicep" to "bicep" throughout the codebase to align with standard Bicep tooling conventions. The changes affect code, comments, documentation, and installation scripts.

Key Changes

  • Updated binary name constant from "rad-bicep" to "bicep" and environment variable from "RAD_BICEP" to "BICEP"
  • Updated all error messages, comments, and documentation references to use "bicep" instead of "rad-bicep"
  • Updated installation scripts and CI workflows to reference the new binary name

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
pkg/cli/bicep/bicep.go Changed binary name constant and environment variable name
pkg/cli/bicep/build.go Updated error messages and comments to reference "bicep" instead of "rad-bicep"
pkg/cli/bicep/types.go Updated error messages and comments to use new binary name
pkg/cli/cmd/bicep/publishextension/publish.go Updated comment to reflect new binary name
docs/contributing/contributing-code/contributing-code-tests/running-functional-tests.md Updated documentation to reference "bicep" binary
docs/contributing/contributing-code/contributing-code-schema-changes/README.md Updated file path reference from "rad-bicep" to "bicep"
deploy/install.sh Updated installation messages to use "bicep" instead of "rad-bicep"
deploy/install.ps1 Updated error message to reference "bicep"
build/test.mk Updated Bicep binary path in test command
.github/workflows/validate-bicep.yaml Updated file paths and verification commands to use "bicep"
bicep-types Updated submodule commit reference

const (
radBicepEnvVar = "RAD_BICEP"
binaryName = "rad-bicep"
BicepEnvVar = "BICEP"
Copy link

Copilot AI Dec 13, 2025

Choose a reason for hiding this comment

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

The environment variable name 'BICEP' is too generic and could conflict with other tools or users' environment variables. Consider using a more specific name like 'RAD_BICEP_PATH' or 'RADIUS_BICEP' to avoid potential conflicts.

Suggested change
BicepEnvVar = "BICEP"
BicepEnvVar = "RAD_BICEP_PATH"

Copilot uses AI. Check for mistakes.
@zachcasper
Copy link
Contributor

There has been some discussion of this PR this week and the impact of changing the binary name. The concerns were:

  1. Are there any potential downstream issues which we are not aware of and potentially not testing for?
  2. Is there a potential impact to users' existing bicep installations they may be using for non-Radius work?
  3. Should the Radius CLI be downloading software on the users behalf in the first place?

My read of this PR is that:

  1. I have no opinion but @sk593 already highlighted the impacts and I assume that is exhaustive.
  2. Given the binary is in ~/.rad/bin and the user's PATH is not changing it seems to me that a user-installed bicep binary and the Radius-installed bicep binary can co-exist.
  3. This is the major outstanding question

So the question is should the Radius CLI be downloading binaries for the user or not. On principal, I believe the answer is no, users should be in control of what software is downloaded to their workstation. Additionally, in air-gapped environments, users may need to source binaries from alternative sources such as an internal mirror.

@ytimocin is modifying the installation process as specified in this feature spec. In that specification, we propose moving the installation of rad-bicep from the rad download command to the install.sh script.

It makes sense to me that we name the bicep binary as bicep. I will leave it to @brooke-hamilton and @ytimocin if it makes sense to move forward with this PR or leave it until the refactoring of rad download.

@nellshamrell
Copy link
Contributor Author

@brooke-hamilton @ytimocin however you would like to proceed is fine by me.

@brooke-hamilton
Copy link
Member

@nellshamrell, after conversations with @zachcasper and the team, the TLDR; is that we want to keep this PR and merge the change.

@zachcasper is correctly pointing out that we have upcoming changes in which we make Bicep a more explicit dependency of Radius, in which users have some choice in the way Bicep is installed with the Radius CLI and with the control plane. When we make those changes, we will want the Bicep binary to keep its original file name instead of renaming it as we do today. The likely way the CLI will interact with Bicep is use Bicep from the ~/.rad/bin folder if it exists there, and then fall back to looking for it in the $PATH.

Within the context of giving users more choice for installing and using Bicep, it makes sense that we would merge this PR as a first step of the upcoming changes.

@nellshamrell
Copy link
Contributor Author

@brooke-hamilton understood, I will work on fixing the failing test then :)

- changes the name of the downloaded bicep binary from "rad-bicep" to "bicep"

Signed-off-by: Nell Shamrell <nellshamrell@gmail.com>
@nellshamrell nellshamrell force-pushed the update-downloaded-bicep-binary-name branch from e7febf7 to ef1acec Compare January 7, 2026 22:05
Signed-off-by: Nell Shamrell <nellshamrell@gmail.com>
@nellshamrell nellshamrell force-pushed the update-downloaded-bicep-binary-name branch from ef1acec to cedafa1 Compare January 7, 2026 22:07
@nellshamrell
Copy link
Contributor Author

Just rebased - @brooke-hamilton, when you have a moment, would you mind approving the workflows?

Signed-off-by: Nell Shamrell <nellshamrell@gmail.com>
@kachawla
Copy link
Contributor

Build is failing because of #11026

Copy link
Contributor

@kachawla kachawla left a comment

Choose a reason for hiding this comment

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

@nellshamrell
Copy link
Contributor Author

on it!

@nellshamrell
Copy link
Contributor Author

Done!

Pull requests that go along with this one:

@radius-functional-tests
Copy link

radius-functional-tests bot commented Jan 16, 2026

Radius functional test overview

🔍 Go to test action run

Click here to see the test run details
Name Value
Repository nellshamrell/radius
Commit ref ed1138a
Unique ID funcafa84f6781
Image tag pr-funcafa84f6781
  • gotestsum 1.13.0
  • KinD: v0.29.0
  • 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-funcafa84f6781
  • 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-funcafa84f6781
  • dynamic-rp test image location: ghcr.io/radius-project/dev/dynamic-rp:pr-funcafa84f6781
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-funcafa84f6781
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-funcafa84f6781
  • 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

@brooke-hamilton brooke-hamilton merged commit 4046cad into radius-project:main Jan 16, 2026
44 checks passed
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.

Feature Request: Change downloaded bicep binary name to "bicep"

5 participants