Skip to content

ci: Fix dependencies for Application Build - SOLVCON#179

Merged
yungyuc merged 2 commits intosolvcon:mainfrom
terrychan999:hotfix/solvcon-deps
Oct 6, 2025
Merged

ci: Fix dependencies for Application Build - SOLVCON#179
yungyuc merged 2 commits intosolvcon:mainfrom
terrychan999:hotfix/solvcon-deps

Conversation

@terrychan999
Copy link
Contributor

@terrychan999 terrychan999 commented Oct 5, 2025

This PR updates the SOLVCON build CI workflows with improved dependency setup, Python build configuration, and cross-platform (macOS/Ubuntu) support:

Add new dependencies for SOLVCON documentation

  • Add Sphinx-related packages and LaTeX/image processing tools required for building documentation (make -C doc html) on both macOS and Ubuntu runners.
  • On macOS, use mactex-no-gui for a lightweight LaTeX installation and add a cache stage for Homebrew to speed up future CI runs (note: caching takes effect only after a first successful pipeline).

Set compatible versions for core build dependencies

  • Pin setuptools, numpy, pybind11, and cython to mutually compatible versions to stabilize build results.
  • Pin CMake to 3.x to avoid breaking changes in the upcoming 4.x series.
  • Use Python 3.8.20 as the default version for reproducible builds.
  • On macOS, explicitly add CFLAGS -include string.h and -include unistd.h when compiling gmsh to handle stricter header requirements in newer Clang versions, caused by missing standard includes in the legacy concorde97 sources bundled with gmsh.

Improve Python build script (scripts/build.d/python)

  • Extend get-pip.py support to Python from 3.6 to current, refining logic for selecting version-specific URLs and providing clearer error messages for unsupported versions.
  • Apply --with-system-ffi only for Linux builds, since macOS support for system ffi becomes stable only after Python 3.9.x.

The CI workflow has been improved but still fails under certain stage:

  • A build issue occurs when compiling libmarch on arm64 macOS due to a lack of x86 SIMD (SSE) headers.
  • On the Ubuntu runner, the SOLVCON function test stage reports missing _algorithm runtime errors; the root cause has not yet been investigated.

CI logs for reference: GitHub Actions run #18260545494.

Copy link
Member

@yungyuc yungyuc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Beautiful. Thank you @terrychan999

@yungyuc yungyuc added the testing testing and ci label Oct 6, 2025
@yungyuc yungyuc merged commit 7b8eca4 into solvcon:main Oct 6, 2025
2 checks passed
@terrychan999 terrychan999 deleted the hotfix/solvcon-deps branch October 6, 2025 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

testing testing and ci

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants