Skip to content
Maya Taylor edited this page Sep 10, 2024 · 3 revisions

Welcome to the charm4py wiki!

Building and uploading Charm4Py to PyPI

On publishing a new Charm4Py release, we'll want to build the PyPI binaries and source distribution so that Charm4Py can be easily installed with pip. The steps for this build and upload process are broken into a couple Github actions, which currently all require manual workflow dispatch:

  1. Build the wheels. The build_wheels.yml script builds macOS and manylinux wheels for CPython and PyPy Python implementations, as well as the source distribution. It can be run via the Github actions page or GithubCLI: gh workflow run .github/workflows/build_wheels.yml

  2. Publish to PyPI or TestPyPI (optional). TestPyPI is a test instance of PyPI where you can test your distribution. Both the TestPyPI and PyPI publishing actions can be run via GithubCLI, and take a workflow_id argument, which points to the workflow that generated the wheels to upload. The easy way to find this workflow_id is locate the workflow results on Github and copy the ID number at the end of the URL. Then, these wheels can be published via Github actions or the following GithubCLI command: gh workflow run .github/workflows/upload_[test]pypi.yml -f workflow_id=<ID_NUMBER>

To run any of these commands from a different branch, see the gh workflow run --ref parameter.

Clone this wiki locally