[EPIC] Deployment Architecture Refactor
- Dominant language
- F#
- Stars
- 14
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
## Overview
Refactor morphir-dotnet deployment architecture to fix critical packaging issues, separate tool from executable distribution, implement comprehensive build testing, and establish changelog-driven versioning.
**Problem**: Current deployment failed due to package naming mismatches and lack of automated validation. No clear separation between dotnet tool and standalone executable distribution.
**Solution**: See comprehensive PRD: [deployment-architecture-refactor.md](https://github.com/finos/morphir-dotnet/blob/feature/deployment-architecture-refactor/docs/content/contributing/design/prds/deployment-architecture-refactor.md)
## Quick Summary
### Decisions Made
- ✅ **Decision 1**: Separate projects (Morphir.Tool + Morphir)
- ✅ **Decision 2**: Hybrid testing (structure validation → local install → TestContainers)
- ✅ **Decision 3**: Split Build.cs by domain + extract helpers
- ✅ **Decision 4**: Dual distribution (NuGet + GitHub releases)
- ✅ **Decision 5**: CHANGELOG.md as single source of truth via Ionide.KeepAChangelog
### Implementation Phases
**Phase 1**: Project Structure & Build Organization (3-4 days)
- Create Morphir.Tool project
- Split Build.cs into partial classes
- Extract helper classes
- Remove deprecated code
**Phase 2**: Changelog-Driven Versioning (2-3 days)
- Integrate Ionide.KeepAChangelog
- Implement PrepareRelease target
- Auto pre-release version bumping
**Phase 3**: Build Testing Infrastructure (3-4 days)
- Create Morphir.Build.Tests project
- Package structure + metadata tests
- Local installation tests
- CI integration
**Phase 4**: Deployment & Distribution (2-3 days)
- Update deployment workflow
- GitHub release automation
- Install script updates
**Phase 5**: Documentation (1-2 days)
- Update AGENTS.md, CLAUDE.md, README.md
- Create DEPLOYMENT.md
- Write BDD feature files
**Total Timeline**: 11-16 days
## Sub-Issues
Will create individual issues for each phase once this epic is approved.
## Related PRD
📄 **Full PRD**: [deployment-architecture-refactor.md](https://github.com/finos/morphir-dotnet/blob/feature/deployment-architecture-refactor/docs/content/contributing/design/prds/deployment-architecture-refactor.md)
Contains:
- Complete design decisions with rationale
- Detailed implementation tasks
- BDD acceptance criteria
- Testing strategy
- Risk analysis
- Success metrics
- Architecture diagrams
## Acceptance Criteria
- [ ] Zero deployment failures due to package naming
- [ ] All packages have same version from CHANGELOG.md
- [ ] Build tests catch 100% of package structure issues
- [ ] Clear persona-based installation documentation
- [ ] Successful deployment to NuGet + GitHub releases
## Questions?
Please review the full PRD and comment with any questions or concerns.
Contributor guide
Assessment
This issue has not been assessed yet.