Skip to content

Conversation

@brooke-hamilton
Copy link
Member

Summary

This PR adds a feature specification for migrating the Radius repository from a git submodule for bicep-types to direct dependency references using Go modules and pnpm.

Changes

  • Spec document (spec.md): Complete feature specification with user stories, requirements, and success criteria
  • Research documents: Analysis of Go modules migration and pnpm integration approaches
  • Implementation plans: Detailed plans for both Go modules and pnpm submodule migrations
  • Task lists: Granular implementation tasks with dependencies
  • Requirements checklist: Tracking checklist for all functional requirements
  • Dictionary updates: Added project-specific terms for spell checking

Motivation

The current bicep-types git submodule causes:

  • Contributor friction during initial setup
  • CI/CD build failures from submodule desynchronization
  • Incompatibility with git worktrees
  • Non-standard dependency management workflows

Related Issue

radius-project/radius#10913

Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
@brooke-hamilton brooke-hamilton requested review from a team as code owners January 22, 2026 22:22
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
brooke-hamilton added a commit to radius-project/radius that referenced this pull request Jan 24, 2026
# Description

This PR updates Go code to use the `bicep-types-go` package as a
standard Go module dependency fetched via `go get
github.com/Azure/bicep-types/src/bicep-types-go@<commit hash>`, rather
than relying on the git submodule. The submodule remains for
TypeScript/pnpm tooling, but Go tooling now references the package
directly from the `Azure/bicep-types` repository.

This PR is step 1 of 2 in a two-step update to remove the git submodule.
The plan is here:
radius-project/design-notes#138

**Changes:**
- Removed the `replace` directive in `go.mod` that pointed to the local
submodule
- Added direct dependency on
`github.com/Azure/bicep-types/src/bicep-types-go`
- Updated contributor documentation to clarify when the submodule is
required

## Type of change

- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).

Related issue #10913

- Design document:
radius-project/design-notes#138

## 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 <!-- TaskRadio schema -->
    - [x] Not applicable <!-- TaskRadio schema -->
- A design document PR is created in the [design-notes
repository](https://github.com/radius-project/design-notes/), if new
APIs are being introduced.
    - [x] Yes <!-- TaskRadio design-pr -->
    - [ ] Not applicable <!-- TaskRadio design-pr -->
- The design document has been reviewed and approved by Radius
maintainers/approvers.
    - [ ] Yes <!-- TaskRadio design-review -->
    - [x] Not applicable <!-- TaskRadio design-review -->
- A PR for the [samples
repository](https://github.com/radius-project/samples) is created, if
existing samples are affected by the changes in this PR.
    - [ ] Yes <!-- TaskRadio samples-pr -->
    - [x] Not applicable <!-- TaskRadio samples-pr -->
- A PR for the [documentation
repository](https://github.com/radius-project/docs) is created, if the
changes in this PR affect the documentation or any user facing updates
are made.
    - [ ] Yes <!-- TaskRadio docs-pr -->
    - [x] Not applicable <!-- TaskRadio docs-pr -->
- A PR for the [recipes
repository](https://github.com/radius-project/recipes) is created, if
existing recipes are affected by the changes in this PR.
    - [ ] Yes <!-- TaskRadio recipes-pr -->
    - [x] Not applicable <!-- TaskRadio recipes-pr -->

---------

Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.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.

1 participant