Skip to content

[v0.1.14] 2026-01-30 #215

[v0.1.14] 2026-01-30

[v0.1.14] 2026-01-30 #215

Triggered via push January 30, 2026 20:06
Status Failure
Total duration 7m 40s
Artifacts

build-wheels.yml

on: push
Matrix: build_wheels
Matrix: test_wheels
Start GPU instance for wheel testing
0s
Start GPU instance for wheel testing
Test GPU wheels on self-hosted Linux runner
0s
Test GPU wheels on self-hosted Linux runner
Publish to PyPI
0s
Publish to PyPI
Stop GPU instance
10s
Stop GPU instance
Fit to window
Zoom out
Zoom in

Annotations

6 errors and 2 warnings
Build wheels on macos-14
Process completed with exit code 1.
Build wheels on macos-14
cibuildwheel: Command ['/bin/sh', '-c', 'python -c "\nimport sys, os\nprint(f\'=== cibuildwheel Test Environment ===\')\nprint(f\'Python: {sys.executable}\')\nprint(f\'Platform: {sys.platform}\')\nprint(f\'Working directory: {os.getcwd()}\')\n\ntry:\n import pyhelios\n print(f\'[SUCCESS] PyHelios3D {pyhelios.__version__} imported successfully\')\n\n # Test native library functionality (most critical test)\n from pyhelios.plugins import get_plugin_info\n info = get_plugin_info()\n print(f\'[SUCCESS] Platform: {info[\\"platform\\"]}\')\n mock_mode = info.get(\'is_mock\', True)\n print(f\'[SUCCESS] Mock mode: {mock_mode}\')\n\n if mock_mode:\n print(\'[FAILED] Mock mode detected - this violates fail-fast policy!\')\n print(\'Mock mode indicates native libraries are not properly packaged in wheel.\')\n print(\'This must be fixed before deployment.\')\n raise RuntimeError(\'Mock mode detected in wheel testing - native libraries missing\')\n else:\n lib_path = info.get(\'library_path\', \'Unknown\')\n print(f\'[SUCCESS] Native library loaded: {lib_path}\')\n\n # Test macOS expected plugins (6 plugins including visualization but no GPU)\n available_plugins = info.get(\'available_plugins\', [])\n expected_plugins = [\'weberpenntree\', \'visualizer\', \'photosynthesis\', \'solarposition\', \'stomatalconductance\', \'plantarchitecture\']\n print(f\'[INFO] Available plugins: {sorted(available_plugins)}\')\n print(f\'[INFO] Expected plugins: {sorted(expected_plugins)}\')\n\n missing_plugins = set(expected_plugins) - set(available_plugins)\n if missing_plugins:\n print(f\'[FAILED] Missing expected plugins: {sorted(missing_plugins)}\')\n raise RuntimeError(f\'Missing expected plugins: {missing_plugins}\')\n else:\n print(f\'[SUCCESS] All {len(expected_plugins)} expected plugins are available\')\n\n # Asset validation (non-critical, allow failure)\n try:\n from pyhelios.assets import get_asset_manager\n manager = get_asset_manager()\n helios_build = manager._get_helios_build_path()\n if helios_build:\n print(f\'[INFO] HELIOS_BUILD assets: {helios_build}\')\n else:\n print(\'[INFO] HELIOS_BUILD assets not found (acceptable in wheel testing)\')\n except Exception as e:\n print(f\'[INFO] Asset validation skipped: {e}\')\n\n # Critical test: primitive data operations that fail in CI\n print(\'[CRITICAL-TEST] Testing primitive data operations...\')\n from pyhelios import Context\n ctx = Context()\n patch_uuid = ctx.addPatch()\n print(f\'[CRITICAL-TEST] Created patch UUID: {patch_uuid}\')\n\n ctx.setPrimitiveDataInt(patch_uuid, \'test_int\', 42)\n print(\'[CRITICAL-TEST] setPrimitiveDataInt completed\')\n\n exists = ctx.doesPrimitiveDataExist(patch_uuid, \'test_int\')\n print(f\'[CRITICAL-TEST] doesPrimitiveDataExist: {exists}\')\n\n if not exists:\n print(\'[CRITICAL-TEST] REPRODUCED: Primitive data does not exist after setting!\')\n print(\'[CRITICAL-TEST] This is the bug that causes CI test failures\')\n print(\'[CRITICAL-TEST] Running comprehensive diagnostic...\')\n try:\n exec(open(\'/Users/runner/work/PyHelios/PyHelios/test_ci_diagnostic.py\').read())\n except Exception as diag_e:\n print(f\'[CRITICAL-TEST] Diagnostic failed: {diag_e}\')\n print(\'[CRITICAL-TEST] Continuing to pytest to confirm...\')\n else:\n value = ctx.getPrimitiveData(patch_uuid, \'test_int\', int)\n print(f\'[CRITICAL-TEST] Retrieved value: {value}\')\n print(\'[CRITICAL-TEST] Primitive data operations working correctly in CI\')\n\n print(\'[SUCCESS] cibuildwheel test completed successfully\')\n\nexcept Exception as e:\n print(f\'[FAILED] cibuildwheel test FAILED: {e}\')\n import traceback\n traceback.print_exc()\n raise\n" &&\npython -m pytest /Users/runner/work/PyHelios/PyHelios/tests/ --tb=short -
Build wheels on windows-2022
The strategy configuration was canceled because "build_wheels.macos-14_arm64" failed
Build wheels on windows-2022
The operation was canceled.
Build wheels on ubuntu-22.04
The strategy configuration was canceled because "build_wheels.macos-14_arm64" failed
Build wheels on ubuntu-22.04
The operation was canceled.
Build wheels on windows-2022
Failed to save: <h2>Our services aren't available right now</h2><p>We're working to restore all services as soon as possible. Please check back soon.</p>0mA99aQAAAADCHBm74iUqT6YUSr43VK/RUEhMMzBFREdFMDIxMABFZGdl
Build wheels on windows-2022
Failed to restore: Cache service responded with 400