Problem
The "Test demos" step in the macOS-latest CI workflow fails with exit code 1, but only shows the error without detailed output:
Error: Process completed with exit code 1.
Root Cause
The failure occurs in .github/workflows/go.yml at the "Test demos" step when trying to set up Python 3.12:
libdir=$(pkg-config --variable=libdir python-3.12-embed)
This command fails because:
- Python 3.12 is not installed in the macOS-latest CI environment
- The script uses
set -e, so any command failure causes immediate exit
- Most importantly: The project doesn't actually need Python at all - there is no
_pydemo directory
Analysis
The Python setup code was originally added for PyTorch compatibility (see TODO comment), but:
- The project currently has no
_pydemo directory
- Only
_demo/cjsondemo exists, which doesn't require Python
- All the Python 3.12 symlink workaround is unnecessary
Solution
Remove all unnecessary Python-related setup:
- Remove
python@3.12 installation from .github/actions/setup-llcppg/action.yml
- Remove the entire Python symlink setup block from
.github/workflows/go.yml
- Simplify the "Test demos" step to just run the test script directly
Impact
- ✅ Fixes macOS CI failures
- ✅ Simplifies CI configuration
- ✅ Reduces build time (no Python installation needed)
- ✅ Removes maintenance burden for unused dependencies
Related Files
.github/workflows/go.yml (lines 77-88)
.github/actions/setup-llcppg/action.yml (lines 27-36)
.github/workflows/test_demo.sh (scans for _demo/* and _pydemo/*)
Problem
The "Test demos" step in the macOS-latest CI workflow fails with exit code 1, but only shows the error without detailed output:
Root Cause
The failure occurs in
.github/workflows/go.ymlat the "Test demos" step when trying to set up Python 3.12:libdir=$(pkg-config --variable=libdir python-3.12-embed)This command fails because:
set -e, so any command failure causes immediate exit_pydemodirectoryAnalysis
The Python setup code was originally added for PyTorch compatibility (see TODO comment), but:
_pydemodirectory_demo/cjsondemoexists, which doesn't require PythonSolution
Remove all unnecessary Python-related setup:
python@3.12installation from.github/actions/setup-llcppg/action.yml.github/workflows/go.ymlImpact
Related Files
.github/workflows/go.yml(lines 77-88).github/actions/setup-llcppg/action.yml(lines 27-36).github/workflows/test_demo.sh(scans for_demo/*and_pydemo/*)