Skip to content

Release Process

Vineet Bansal edited this page May 22, 2024 · 10 revisions

Creating a new release for OSQP 0.6.x

  • Releases for OSQP 0.6.x should be made from the v0.6.x branch. The general process is:
    • git checkout v0.6.x

    • Branch out of the v0.6.x branch, make any desired changes.

    • Push to Github. Ensure that CI (triggered on all pushes/PRs) passes on all platforms. Ubuntu/Windows/Macos-Silicon/Macos-Intel are handled in .github/workflows/build.yml, aarch64 is handled in .github/workflows/build_aarch64.yml).

    • Once CI passes, decide on a new version, say 0.6.42. Make changes to the following 3 places to match the selected version:

      • src/osqp/codegen/files_to_generate/setup.py, Line 77
      • src/osqp/interface.py, Line 2
      • src/osqppurepy/_osqp.py, Line 333

      These files/line numbers are also obtainable using something like grep -r 0.6.41 (if 0.6.41 is the current version, for example). It's possible to use bumpversion or a similar library to handle all these cases automatically, but it's absolutely not worth introducing a new dependency at this point, since v0.6.x releases are anticipated to be rare.

    • Tag the version as v0.6.42 (if 0.6.42 is the current version). Notice the v appended to the version number. The presence of the tag is what triggers the CI to initiate a new release on PyPI.

Clone this wiki locally