-
Notifications
You must be signed in to change notification settings - Fork 41
Release Process
- Releases for
OSQP 0.6.x
should be made from thev0.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 the 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
(if0.6.41
is the current version, for example). While it's possible to usebumpversion
or a similar library to handle all these cases automatically, it's absolutely not worth introducing a new dependency for thev0.6.x
releases at this point.v0.6.x
releases are anticipated to be rare anyway. -
-
Commit, and send a PR towards the
v0.6.x
branch. Merge if CI passes. -
Tag the merge commit on the
v0.6.x
branch with the version tag (git tag v0.6.42
if0.6.42
is the current version, for example). Notice thev
prepended 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.
-