Pipeline Consolidation Changes
Overview
Consolidated duplicate CI/CD pipelines to resolve file duplication and prevent quality scans from targeting the deprecated old_code folder.
Changes Made
1. Consolidated CI/CD Pipelines
- Removed:
.github/workflows/ci-cd.yml (basic pipeline)
- Enhanced:
.github/workflows/ci-cd-enhanced.yml (now the single CI/CD pipeline)
- Result: Eliminated pipeline duplication while preserving all functionality
2. Enhanced Pipeline Features
The consolidated pipeline now includes all features from both pipelines:
From Enhanced Pipeline (kept):
- GitVersion for semantic versioning
- Release management with prerelease support
- Automated NuGet publishing
- Advanced packaging and artifact management
From Basic Pipeline (integrated):
- Code Quality Analysis: Package vulnerability scanning, outdated package detection
- Lint and Format Check: Code formatting verification with
dotnet format
- Static Analysis: Build with
TreatWarningsAsErrors=true
- Performance Testing: Demo application execution for performance baseline
3. Quality Scan Protection
- Added:
old_code/ to .gitignore
- Purpose: Prevent future quality scans from targeting deprecated legacy code
- Note: Current workflows already correctly target only
src/Minotaur.sln
Pipeline Jobs (Consolidated)
- calculate-version: GitVersion semantic versioning
- build-and-test: Build solution and run tests with coverage
- code-quality: Security analysis and package scanning
- lint-and-format: Code formatting and static analysis
- performance-test: Performance baseline testing
- package: NuGet package creation
- prerelease: Automated prerelease publishing
- release: Production release publishing
- cleanup: Artifact cleanup
Verification
- ✅ Build and test functionality preserved (56 tests passing)
- ✅ Code quality checks working (formatting, security, static analysis)
- ✅ Performance testing functional
- ✅ No quality scans targeting
old_code folder
- ✅ Enhanced pipeline includes all original basic pipeline features
Benefits
- Eliminates Pipeline Duplication: Single source of truth for CI/CD
- Preserves All Functionality: No loss of quality checks or automation
- Prevents Future Issues: Protection against
old_code scanning
- Better Organization: Clearer workflow dependencies and structure