Design spec for long-running tests using current release#132
Design spec for long-running tests using current release#132brooke-hamilton merged 43 commits intomainfrom
Conversation
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>
* Add spec-kit PowerShell files * Adjust instructions to use scripts based on OS condition --------- Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
…ations (#120) lint scripts with `shfmt` lint MD with `markdownlint` --------- Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Updated version to 2.0.0 with significant principle additions and redefinitions for multi-repo support. 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: 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>
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: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
… agent documentation Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
Signed-off-by: Dariusz Porowski <3431813+DariuszPorowski@users.noreply.github.com>
…ions Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: GitHub <noreply@github.com>
|
|
||
| ### User Story 1 - Run Tests Against Current Release (Priority: P1) | ||
|
|
||
| As a Radius maintainer, I want the long-running test workflow to use the current official Radius release instead of building from the main branch, so that tests validate the released version that users actually consume. |
There was a problem hiding this comment.
as mentioned, this will result in a change with current process where ensure LRT issues are known/resolved before running a release, that won't happen if we run LRT on official releases only. It may result in finding/addressing issues later, patch releases etc. let's discuss.
| - Add step to install CLI via official installer | ||
| - Add step to verify CLI installation | ||
| - Update PATH configuration | ||
| - Move recipe publishing steps to tests job |
There was a problem hiding this comment.
Could you please share more details on this? What do we mean by tests job?
There was a problem hiding this comment.
There is a workflow job named "tests". The recipe publishing would happen there if the build job is removed.
There was a problem hiding this comment.
I should rename that job.
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
|
/lgtm (updates to plan.md and spec.md) |
|
|
||
| ### User Story 1 - Run Tests Against Current Release (Priority: P1) | ||
|
|
||
| As a Radius maintainer, I want the long-running test workflow to use the current official Radius release instead of building from the main branch, so that tests validate the released version that users actually consume. |
There was a problem hiding this comment.
@brooke-hamilton did you mean to update this to release candidate?
There was a problem hiding this comment.
Fixed: there is this requirement to cover RC usage, but I also clarified the user story above to say "...current official Radius release or release candidate...".
- **FR-003**: System MUST install and use release candidates when a release candidate is published, treating release candidates as the latest version of Radius.
| ### Phase 1: Setup (Shared Infrastructure) | ||
|
|
||
| - Create `manage-radius-installation.sh` helper script | ||
| - Implement version detection logic (parse rad version output, including release candidate version formats like `v0.40.0-rc1`) |
There was a problem hiding this comment.
A change in the table formatting of rad version may cause getting output of parsing using grep/awk to be incorrect, would it be better to parse json using -o json after the command?
upd: okay, i see a reasoning in ln69 of research.md. we could use rad version --cli --output json but that won't help with control plane output.
There was a problem hiding this comment.
I am submitting a PR to Radius today that fixes the json structure of the rad version command. When that gets merged, the helper script can take advantage of it.
Update: the PR is here.
There was a problem hiding this comment.
Pull request overview
This PR adds a comprehensive design specification for updating the Radius long-running tests workflow to use the current official Radius release instead of building from the main branch. The specification was generated using Spec Kit and provides detailed documentation for implementing this change.
Key Changes
- New specification defining the transition from building Radius from source to using official releases for long-running tests
- Implementation plan with phased approach for removing build logic and adding smart control plane installation
- Technical research documenting CLI commands and version detection strategies
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| specs/001-lrt-current-release/spec.md | Feature specification defining user scenarios and functional requirements for running tests against current release |
| specs/001-lrt-current-release/plan.md | Implementation plan with phased approach and constitution checks |
| specs/001-lrt-current-release/tasks.md | Detailed task breakdown organized by user story with 25 implementation tasks |
| specs/001-lrt-current-release/research.md | Technical research covering CLI installation, version detection, and upgrade handling |
| specs/001-lrt-current-release/quickstart.md | Quick reference guide with high-level changes and command examples |
| specs/001-lrt-current-release/technical-plan-context.md | Context document with Radius CLI command documentation and workflow step details |
| specs/001-lrt-current-release/checklists/requirements.md | Requirements checklist validating specification completeness |
| .github/config/en-custom.txt | Updated custom dictionary with new terms (awk, gotestsum, kubeconf, lrt, speckit, wget) |
| .github/agents/copilot-instructions.md | Auto-generated agent instructions documenting active technologies |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@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>
Summary
This PR adds a design specification for updating the Radius long-running tests workflow to use the current official Radius release instead of building from the main branch.
How to Review this PR
This PR was generated from Spec Kit. The primary files to review, in order, are below with readable links to each one:
Optional files to review:
Changes
New Specification (
specs/001-lrt-current-release/)spec.md: Feature specification defining user scenarios and requirements for:
plan.md: Implementation plan with phased approach
tasks.md: Detailed task breakdown for implementation
research.md: Technical research and analysis
quickstart.md: Quick reference guide
technical-plan-context.md: Planning context document
checklists/requirements.md: Requirements checklist
Spec Kit Updates (
.specify/,.github/agents/,.github/prompts/)Updates to the specification authoring toolkit including:
Repository Configuration
Context
This specification defines how to modify the long-running tests GitHub workflow in the radius-project/radius repository to validate the released version of Radius that end users actually consume, rather than a build from the main branch.