-
Notifications
You must be signed in to change notification settings - Fork 42
Release Process
- Releases for
OSQP 0.6.xshould be made from thev0.6.xbranch. The general process is:-
git checkout v0.6.x -
Branch out of the
v0.6.xbranch, make any desired changes. -
Push to Github. Ensure that the CI (triggered on all pushes/PRs) passes on all platforms. Ubuntu/Windows/Macos-Silicon/Macos-Intel are handled in
.github/workflows/build.yml,aarch64is 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(if0.6.41is the current version, for example). While it's possible to usebumpversionor a similar library to handle all these cases automatically, it's absolutely not worth introducing a new dependency for thev0.6.xreleases at this point.v0.6.xreleases are anticipated to be rare anyway. -
-
Commit, and send a PR towards the
v0.6.xbranch. Merge if CI passes. -
Tag the merge commit on the
v0.6.xbranch with the version tag (git tag v0.6.42if0.6.42is the current version, for example). Notice thevprepended to the version number in the tag. -
Push tags to origin (
git push --tags). The presence of the tag is what triggers the CI to initiate a new release on PyPI.
-