Skip to content

Conversation

@michaeltryby
Copy link
Collaborator

This pull request updates the build and test workflows to use newer versions of Python, GitHub Actions, and related build tools, while also refining platform and Python version support. The changes aim to modernize CI/CD processes, improve compatibility, and streamline builds for supported platforms.

CI/CD Workflow Updates

  • Upgraded Python versions in the build workflow from 3.7 to 3.10, and restricted matrix builds to only currently supported Python versions (cp39, cp310, cp311, cp312). Dropped support for Python 3.8 and older. [1] [2] [3]
  • Updated GitHub Actions and related tools to their latest major versions (actions/checkout@v4, actions/setup-python@v5, actions/upload-artifact@v4, pypa/[email protected]). [1] [2] [3] [4] [5]

Platform and Dependency Adjustments

  • Changed build and test matrices to use windows-latest, macos-latest, and ubuntu-latest instead of specific OS versions. [1] [2]
  • Added ninja as a build requirement for macOS systems in swmm-toolkit/build-requirements.txt.
  • Updated the macOS deployment target in setup.py from 10.9 to 11.0 to match modern macOS standards.

CMake and SWIG Build Configuration

  • Set SWIG_COMPILE_DEFINITIONS for output and solver targets to empty (EXPORT_OUT_API= and EXPORT_TOOLKIT=) in CMakeLists to ensure proper symbol exporting on macOS and other platforms. [1] [2]

@michaeltryby michaeltryby self-assigned this Aug 25, 2025
@michaeltryby
Copy link
Collaborator Author

Close #137

@michaeltryby michaeltryby merged commit 9b818a6 into pyswmm:dev Aug 25, 2025
3 checks passed
@michaeltryby michaeltryby deleted the dev-build branch August 30, 2025 00:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants