-
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 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). It's possible to usebumpversion
or a similar library to handle all these cases automatically, but it's absolutely not worth introducing a new dependency at this point, sincev0.6.x
releases are anticipated to be rare. -
-
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, say). Notice thev
appended to the version number in the tag. The presence of the tag is what triggers the CI to initiate a new release on PyPI.
-