Skip to content

Conversation

@knopki
Copy link
Member

@knopki knopki commented Oct 24, 2025

A bunch of small changes to fix the build and release process.

Editable install is not supported by scikit-build with setuptools>=64: scikit-build/scikit-build#740, scikit-build/scikit-build#770, scikit-build/scikit-build#939. Because of this, I had to switch to a regular package installation. I also had to rename the package directory (pyfactxx->src) so that there would be no conflict when loading the module.
Tests are moved out of package's source directory. So no need to prune them.

New range of supported Python versions: 3.9-3.14.

New default runner for tests is Ubuntu 24.04. Not a rolling ubuntu-latest so no surprise-failures. windows-latest runner is set to windows-2025 for build jobs for the same reason.

ubuntu-20.04 is broken and not supported. actions/setup-python can't install Python because of too old Glibc. So, new runner for build jobs is ubuntu-22.04. Target changed from manylinux_2_27_x86_64 to manylinux_2_34_x86_64 because of that.

CMake now take's Python interpreter from venv (actually, it takes first python from PATH).

Bump minimum cmake version to 3.15. It's OK minimum for Ubuntu 22.04's 3.22 and for current 4.1.2.

Minor change to fix build on GCC 13 (Ubuntu 24.04 default) - #include <cstdint>

CodeQL workflow is fixed by version bump and manual build steps for cpp target.

Codacy workflow is broken: codacy/codacy-analysis-cli#541 All tests are running, but it is impossible to upload the results. Temporary added continue-on-error: true to not fail on upload.

ilammy/msvc-dev-cmd is broken. Temporary switched to my own fork with fix. Will make PR's to upstream.

pypa/gh-action-pypi-publish is switched to Trusted Publisher. Need to create pypi environment in GH repository. Also, need to setup PyPI in "publishing" settings of owner's account. This step not tested.

Summary by Bito

This pull request enhances the build and release process by updating the minimum CMake version, improving Python package handling, and reorganizing the directory structure. It also includes compatibility fixes for newer GCC versions and optimizes CI/CD workflows for better compatibility with Python versions 3.9 to 3.14.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant