Skip to content

[Test] Fixed build system test #683

[Test] Fixed build system test

[Test] Fixed build system test #683

Workflow file for this run

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"