release control ui improvements

This commit is contained in:
master
2026-03-21 00:09:17 +02:00
parent f5b5f24d95
commit d2e542f77e
40 changed files with 2637 additions and 216 deletions

View File

@@ -0,0 +1,114 @@
# Sprint 20260320-001 — Releases Table + Create Release Wizard Enhancement
## Topic & Scope
- Migrate releases pipeline table to use `app-data-table` with column sorting + right-aligned `app-pagination`.
- Enhance the Create Release wizard with target selection, strategy detail configuration, and progressive delivery support.
- Working directory: `src/Web/StellaOps.Web/src/app/features/`
- Expected evidence: build passes, pages render correctly, wizard steps complete.
## Dependencies & Concurrency
- No upstream sprint dependencies.
- Task 1 (table) and Task 2 (wizard) are independent and can be done in parallel.
## Documentation Prerequisites
- `docs/modules/release-orchestrator/deployment/strategies.md` — strategy configs
- `docs/modules/release-orchestrator/progressive-delivery/ab-releases.md` — A/B models
- `docs/modules/release-orchestrator/progressive-delivery/canary.md` — canary controller
- `docs/modules/release-orchestrator/deployment/overview.md` — execution flow
## Delivery Tracker
### TASK-001 - Releases pipeline table: use app-data-table + sorting + right-aligned pager
Status: DONE
Dependency: none
Owners: FE
Task description:
- Replace the raw `<table class="stella-table">` in `releases-unified-page.component.ts` with `<app-data-table>`.
- Define columns with `sortable: true` for: Release, Stage, Gates, Risk, Evidence, Status.
- Add sort state signal + computed sorted+filtered+paged data.
- Move `<app-pagination>` to right-aligned position below the table.
- Remove manual `<thead>/<tbody>` markup — use data-table's column definitions and cell templates.
Completion criteria:
- [ ] Table renders using `app-data-table`
- [ ] Clicking column headers sorts ascending/descending
- [ ] Pagination below table, right-aligned
- [ ] Decision capsules still render in the last column
- [ ] Build passes
### TASK-002 - Create Release wizard: target selection step
Status: DONE
Dependency: none
Owners: FE
Task description:
- Add a new step between current Step 1 (Identity) and Step 2 (Components) for target selection.
- New step allows selecting: regions, environments, specific targets/hosts.
- Use existing `PlatformContextStore` for available regions/environments.
- Support multi-select with chips for selected items.
- Wire selected targets into the release draft payload.
Completion criteria:
- [ ] Wizard shows 5 steps (Identity → Targets → Components → Config → Review)
- [ ] Target selection step shows available regions/environments from context
- [ ] Selected targets appear as chips
- [ ] Selected targets included in review step summary
- [ ] Build passes
### TASK-003 - Create Release wizard: strategy detail configuration
Status: DONE
Dependency: none
Owners: FE
Task description:
- Enhance Step 3 (Config) to show strategy-specific configuration when a strategy is selected.
- **Rolling**: batch size (count or %), batch delay, stabilization time, max failed batches.
- **Canary**: canary stages (% + duration), health thresholds (success rate, error rate, latency), manual vs auto progression.
- **Blue-Green**: switchover mode (instant vs gradual with stages), warmup period, blue keepalive duration.
- **All-at-Once**: max concurrency, failure behavior (rollback/continue/pause).
- Use a collapsible "Advanced" section that expands when the user selects a strategy.
- Pre-fill with sensible defaults from docs.
Completion criteria:
- [ ] Selecting a strategy shows its specific config fields
- [ ] All 4 strategies have their documented fields
- [ ] Defaults match documentation
- [ ] Config values included in review step
- [ ] Build passes
### TASK-004 - Create Release wizard: A/B and progressive delivery support
Status: DONE
Dependency: TASK-003
Owners: FE
Task description:
- Add "A/B Release" as a 5th deployment strategy option.
- When selected, show sub-type selector: Target-Group A/B vs Router-Based A/B.
- **Target-Group A/B**: stage editor (canary → expand → shift → complete) with % and duration.
- **Router-Based A/B**: routing strategy (weight/header/cookie/tenant), traffic % stages, health thresholds.
- Add rollback configuration: auto-rollback thresholds, manual override option.
- Reference: `docs/modules/release-orchestrator/progressive-delivery/ab-releases.md`
Completion criteria:
- [ ] A/B option available in strategy dropdown
- [ ] Sub-type selection works
- [ ] Stage editor allows adding/removing stages
- [ ] Config included in review step
- [ ] Build passes
## Execution Log
| Date (UTC) | Update | Owner |
| --- | --- | --- |
| 2026-03-20 | Sprint created; tasks 1-3 starting immediately. | Planning |
| 2026-03-20 | All 4 tasks DONE. Table sorting + pager, wizard targets step, strategy config, A/B release. Deployed. | FE |
## Decisions & Risks
- TASK-004 depends on TASK-003 (strategy config infrastructure must exist first).
- Custom script hooks deferred to a follow-up sprint (requires backend ScriptRunner integration).
- A/B release UI is complex — may need iteration after initial implementation.
## Next Checkpoints
- TASK-001: table + sorting + pager — should be quick (1 agent)
- TASK-002 + TASK-003: wizard enhancements — can run in parallel
- TASK-004: A/B support — after TASK-003 completes