-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Labels
enhancementNew feature or requestNew feature or requesttestingTesting-related issuesTesting-related issues
Milestone
Description
Description
MistDemo is currently the only example in the Examples/ directory without its own comprehensive CI workflow. BushelCloud and CelestraCloud both have workflows in their .github/workflows/ directories with:
- Multi-OS testing (Ubuntu, macOS, Windows)
- Multi-Swift version matrices (6.2 stable + 6.3 nightly)
- Code coverage reporting via Codecov
- Platform-specific testing
Current State
MistDemo is tested via the main repo's .github/workflows/examples.yml, which provides only basic smoke testing:
- Ubuntu-latest only
- Swift 6.2 only
- No coverage reporting
- No macOS-specific validation
Proposed Workflow
Add Examples/MistDemo/.github/workflows/MistDemo.yml with:
Matrix Strategy:
matrix:
include:
# Ubuntu builds
- os: ubuntu-latest
swift: 6.2
container: swift:6.2-noble
- os: ubuntu-latest
swift: 6.3
container: swiftlang/swift:nightly-6.3-noble
nightly: true
# macOS build
- os: macos-latest
swift: 6.2Features:
- Build and test on Ubuntu (noble container) and macOS
- Test with Swift 6.2 stable and 6.3 nightly
- Code coverage reporting to Codecov with flag
mistdemo - Test ConfigKeyKit library separately
- Validate CLI executable builds
Reference Implementations:
Examples/BushelCloud/.github/workflows/BushelCloud.yml(similar structure)Examples/CelestraCloud/.github/workflows/CelestraCloud.yml(more comprehensive).github/workflows/MistKit.yml(main library workflow patterns)
Testing Configuration
Since MistDemo uses ConfigKeyKit and depends on:
- swift-configuration
- Hummingbird
- swift-service-lifecycle
The workflow should validate:
- ConfigKeyKit library builds
- MistDemoTests pass
- mistdemo executable builds successfully
- macOS-specific integration (since config files may behave differently on macOS)
Labels
Added: enhancement, testing
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesttestingTesting-related issuesTesting-related issues