[Test] Fixed build system test #683
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI Build and Test | |
| on: | |
| push: | |
| branches: [master, develop] | |
| pull_request: | |
| branches: [master, develop] | |
| jobs: | |
| build: | |
| runs-on: macos-26 # macOS Tahoe - matches development environment | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # ✅ Ensure a consistent, modern Python environment | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| # ✅ Show tool versions (handy for debugging) | |
| - name: Show toolchain versions | |
| run: | | |
| sw_vers | |
| xcodebuild -version | |
| swift --version | |
| python3 --version | |
| # Verify Metal version support | |
| xcrun metal --version || echo "Metal compiler info not available" | |
| env: | |
| CI: true | |
| # ✅ Install Python dependencies for compare_psnr.py | |
| - name: Install Python dependencies | |
| run: | | |
| python3 -m pip install --upgrade pip | |
| python3 -m pip install numpy opencv-python scikit-image | |
| env: | |
| CI: true | |
| # ✅ Build the Swift package | |
| - name: Build | |
| run: swift build -v | |
| env: | |
| CI: true | |
| # ✅ Run core tests (fast, CPU-based) | |
| - name: Run core tests | |
| run: swift test -v --disable-swift-testing --filter UntoldEngineTests | |
| env: | |
| CI: true | |
| # ⚠️ Disabled: renderer tests are failing in CI - under investigation | |
| # - name: Run renderer tests (non-async suites) | |
| # timeout-minutes: 30 | |
| # env: | |
| # CI: true | |
| # UNTOLD_PSNR_THRESHOLD: "33.5" # tweak per suite/scene | |
| # UNTOLD_PYTHON: "python3" | |
| # # UNTOLD_KEEP_ARTIFACTS: "1" # rarely needed on CI | |
| # run: | | |
| # command -v "${UNTOLD_PYTHON}" >/dev/null 2>&1 || { echo "python not found"; exit 1; } | |
| # swift test -v --disable-swift-testing --parallel --num-workers 1 --filter UntoldEngineRenderTests --skip 'UntoldEngineRenderTests.(AsyncLoadingSystemTest|AsyncMeshLoadingTest|AssetLoadingGateRenderingTests)' | |
| # ⚠️ Disabled: renderer tests are failing in CI - under investigation | |
| # - name: Run async renderer tests | |
| # timeout-minutes: 20 | |
| # env: | |
| # CI: true | |
| # UNTOLD_PSNR_THRESHOLD: "33.5" | |
| # UNTOLD_PYTHON: "python3" | |
| # run: | | |
| # command -v "${UNTOLD_PYTHON}" >/dev/null 2>&1 || { echo "python not found"; exit 1; } | |
| # swift test -v --disable-swift-testing --parallel --num-workers 1 --filter 'UntoldEngineRenderTests.(AsyncLoadingSystemTest|AsyncMeshLoadingTest|AssetLoadingGateRenderingTests)' | |
| swift6-guardrails: | |
| runs-on: macos-26 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Show toolchain versions | |
| run: | | |
| xcodebuild -version | |
| swift --version | |
| env: | |
| CI: true | |
| - name: Run strict concurrency guardrails | |
| env: | |
| CI: true | |
| MAX_UNIQUE_CONCURRENCY_WARNINGS: "0" | |
| run: bash ./scripts/strict-concurrency-guardrails.sh | |
| - name: Upload strict concurrency artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: swift6-concurrency-guardrails | |
| path: | | |
| .build/strict-concurrency.log | |
| .build/strict-concurrency-summary.md | |
| .build/strict-concurrency-metrics.json | |
| - name: Publish strict concurrency summary | |
| if: always() | |
| run: cat .build/strict-concurrency-summary.md >> "$GITHUB_STEP_SUMMARY" |