Skip to content

[CI] Refactor wheel jobs

Lars Bilke requested to merge bilke/ogs:ci-wheels into master

Changes to the wheels pipeline:

  • 3 build jobs and publish job are extracted into a child pipeline, see https://gitlab.opengeosys.org/ogs/ogs/-/pipelines/12363 for an example
  • this child pipeline can be manually triggered, wheels can be downloaded from their respective jobs via job artifacts
    • if on a merge request a manual trigger builds wheels for Python 3.9 and 3.10 only
    • if on master a manual trigger also uploads to test.pypi.org
  • child pipeline is triggered for release pipeline and wheels are uploaded to pypi.org
  • wheels now use setuptools_scm for getting the git version (maybe the version info could be consumed by ogs in the future, on the CMake side).

I had to make these adjustments as the wheel builds currently take some time:

  • Linux: they build in Docker and currently have no ccache or cpmcache, there is maybe a solution to this problem (cibuildwheel mounts some host directories by default which then could be used as cache locations) which will be testet and implemented later on
  • Win: builds work only for the CMake MSVC generator which does not parallelize as good as with Ninja

Maybe these issues can be addressed in the future...

  1. Tests covering your feature were added?
Edited by Lars Bilke

Merge request reports