Skip to content

Conversation

njourdane
Copy link

@njourdane njourdane commented Sep 6, 2025

Improve the CI to publish binaries on each new release.

Targets:

  • linux arm64
  • linux x86_64
  • macos arm64
  • macos x86_64
  • windows x86_64

The workflow is triggered only when a new release is published and add files to the release (see the test release on my fork, where the files are added by this run).

Notes:

  • Each binary is packaged in tar.gz / zip in order to keep execution rights (ie. avoid a chmod u+x).
  • PyInstaller is used to build the binaries, with UPX to reduce the file size (which is apparently activated only on windows).
  • The workflow also includes a smoke-test to check if the binary is functional on each target platform.
  • Minor code update had to be made to make the binaries work. In particular, the program version comes from the __version.py file, generated in the CI using the git tag. This behavior only happen in the binaries and doesn't affect the pip-installed programs.
  • Installation instructions are not updated for now, I can add them if you are happy with this PR.

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.

1 participant