-
Notifications
You must be signed in to change notification settings - Fork 4
Development Process
These guidelines assume an active development team, adjust as appropriate. They are based roughly on the SymPy work flow.
- In general, significant changes should be done through "pull requests".
- As the software becomes more mature, these should be +1'd by another developer before merging.
- Or in absence of a reviewer, state that you intend to merge in e.g., 24 hours.
- Minor fixes can be pushed directly by those with commit access. Use your good judgment. When in doubt, do a pull request.
- Your changes should add tests where appropriate.
Note that it is possible to send pull requests without commit access to the repository.
Doctest comes with a number of tests which are quite appropriately written in the doctest format.
Before committing changes, please make sure that doctest doctest
runs happily (otherwise, the travis-ci continuous integration service will likely send you a gentle reminder that you broke the build 😃).
We use x.y.z. Bump y for minor changes or z for "micro" changes (bug fixes etc).
OctaveForge process: http://octave.sourceforge.net/developers.html
Many of the items below on the checklist are automated by the maintainer Makefile in the root directory: see "make help".
-
Update doctest.m:
- update version number (remove "+", check if bump needed).
-
Update DESCRIPTION file (version number and date).
-
Update NEWS file (date, version number, reformat).
-
Commit (locally if you want, no need to push yet). Now you can test locally (using make commands below).
-
If packages seem ok, then tag the repo:-
git tag -a v2.0.0 -m "Version 2.0.0"
-
git push --tags origin master
. If messed up and want to change anything after this, need to bump version number (tag is public). -
Push and push tags to sourceforge.
-
-
Use the maintainer Makefile
- make clean
- make release
- make matlab_pkg
-
Push master branch to both github and sourceforge.
-
The packages will be in
tmp/
-
note the md5sums from "make release" above.
-
create ticket for binaries and doc tarball on sourceforge (posting the md5sums).
-
-
Octave-Forge admins will tag.
- After this happens, fetch and then push that tag to github.
- upload both the Octave and Matlab packages to github release page.
- Append "+" to the version in doctest.m, DESCRIPTION and NEWS.