Release v1.3.0 - CI Fixed
🎉 CRITICAL FIX: CI Now Stable
The CI has been completely fixed by removing which was causing shared obj directory conflicts.
Root Cause
Directory.Build.propsforced both projects to share the sameobjdirectory andproject.assets.jsonfile- When the main project restored, it overwrote the assets file and removed xunit dependencies
- This caused intermittent CI failures with "Xunit not found" errors
Solution
- Deleted
Directory.Build.props - Each project (src and tests) now has its own
objandbindirectories - No more shared assets file conflicts
- CI workflow simplified:
dotnet testhandles restore, build, and test atomically
Changes
- ✅ CI Fully Stable: All 92 tests passing consistently
- ✅ No More Conflicts: Separate build directories prevent xunit dependency issues
- ✅ Simplified Workflow: Clean, then run
dotnet test - ✅ Both Architectures Build: linux-arm64 and linux-x64 working
- ✅ Documentation Updated: Root cause analysis and solution documented
CI Workflow
- Test Job: Clean → Run
dotnet test(handles restore/build/test) - Build Jobs: Clean → Publish for each architecture in parallel
Downloads
Download the binaries from GitHub Actions artifacts:
- Linux ARM64:
InstDotNet-linux-arm64.tar.gz - Linux x64:
InstDotNet-linux-x64.tar.gz
Testing
All 92 unit tests pass:
- VectorExtensions: 11 tests
- Trilateration: 13 tests
- WGS84Converter: 6 tests
- UWB2GPSConverter: 8 tests
- HardwareId: 14 tests
- MQTTControl: 11 tests
- UWBManager: 10 tests
- AppConfig: 7 tests
- AppLogger: 7 tests
- VersionInfo: 6 tests
Important Notes
Directory.Build.props or any shared build configuration that forces projects to share obj directories. This will break the CI again.