Skip to content

Commit 55fd97b

Browse files
committed
ci: rewritten packgage build and publishing process
As unblob now contains an extension module, we need to build multiple wheels for multiple platforms. Even for Docker images we need a different wheel per architecture. In order to keep unnecessary rebuilds to a minimum, wheels are built only by the `build_linux` and `build_macos` jobs, and both PyPi publishing and Docker image building reuses them. This change needs dependency relationships between the affected jobs, so the `run-tests`, `release` and `build-publish-image` workflows are merged to a single `CI` workflow. Technically the `run-tests` job could have been left out, but it makes sense to have a dependency relationship between that an the release publishing job. The existing already parts, like pre-commit, pyright, pytest and docker build steps are lifted from the now deleted workflow files. The template of the wheel build and publishing parts of this job was generated using: maturin generate-ci --platform manylinux musllinux macos --pytest -- github The generated code is cleaned up, instead of running pytest for created wheels, an `unblob --version` test command is added (it is a PITA having 3rd party extractors available in all these platforms)
1 parent f683a4a commit 55fd97b

File tree

6 files changed

+428
-244
lines changed

6 files changed

+428
-244
lines changed

0 commit comments

Comments
 (0)