Skip to content

v1.3.0 - CI Fixed: Removed Directory.Build.props

Latest

Choose a tag to compare

@ajlennon ajlennon released this 14 Nov 15:54
· 34 commits to main since this release

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.props forced both projects to share the same obj directory and project.assets.json file
  • 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 obj and bin directories
  • No more shared assets file conflicts
  • CI workflow simplified: dotnet test handles 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

  1. Test Job: Clean → Run dotnet test (handles restore/build/test)
  2. 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

⚠️ DO NOT re-add Directory.Build.props or any shared build configuration that forces projects to share obj directories. This will break the CI again.