1.95 KB
Newer Older
georg's avatar
georg committed
# Contributing to mat2
jvoisin's avatar
jvoisin committed

georg's avatar
georg committed
The main repository for mat2 is on [0xacab]( ),
but you can send patches to jvoisin by [email]( if you prefer.
jvoisin's avatar
jvoisin committed
5 6 7 8 9

Do feel free to pick up [an issue]( )
and to send a pull-request. Please do check that everything is fine by running the
testsuite with `python3 -m unittest discover -v` before submitting one :)

10 11 12
If you're fixing a bug or adding a new feature, please add tests accordingly,
this will greatly improve the odds of your merge-request getting merged.

13 14 15 16 17 18
If you're adding a new fileformat, please add tests for:

1. Getting metadata
2. Cleaning metadata
3. Raising `ValueError` upon a corrupted file

georg's avatar
georg committed
Since mat2 is written in Python3, please conform as much as possible to the
jvoisin's avatar
jvoisin committed
20 21
[pep8]( ) style; except where it makes no sense of course.

jvoisin's avatar
jvoisin committed
22 23 24
# Doing a release

1. Update the [changelog](
2. Update the version in the [mat2]( file
3. Update the version in the []( file
4. Update the version and date in the [man page](
28 29 30 31
5. Commit the changelog, man page, mat2 and files
6. Create a tag with `git tag -s $VERSION`
7. Push the commit with `git push origin master`
8. Push the tag with `git push --tags`
jvoisin's avatar
jvoisin committed
32 33
9. Download the gitlab archive of the release
10. Diff it against the local copy
11. If there is no difference, sign the archive with `gpg --armor --detach-sign mat2-$VERSION.tar.xz`
jvoisin's avatar
jvoisin committed
35 36 37 38
12. Upload the signature on Gitlab's [tag page]( and add the changelog there
13. Announce the release on the [mailing list](
14. Sign'n'upload the new version on pypi with `python3 sdist bdist_wheel` then `twine upload -s dist/*`
15. Do the secret release dance