CONTRIBUTING.md 1.95 KB
Newer Older
georg's avatar
georg committed
1
# Contributing to mat2
jvoisin's avatar
jvoisin committed
2

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

Do feel free to pick up [an issue]( https://0xacab.org/jvoisin/mat2/issues )
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
19
Since mat2 is written in Python3, please conform as much as possible to the
jvoisin's avatar
jvoisin committed
20 21
[pep8]( https://pep8.org/ ) style; except where it makes no sense of course.

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

1. Update the [changelog](https://0xacab.org/jvoisin/mat2/blob/master/CHANGELOG.md)
25
2. Update the version in the [mat2](https://0xacab.org/jvoisin/mat2/blob/master/mat2) file
26
3. Update the version in the [setup.py](https://0xacab.org/jvoisin/mat2/blob/master/setup.py) file
27
4. Update the version and date in the [man page](https://0xacab.org/jvoisin/mat2/blob/master/doc/mat2.1)
28 29 30 31
5. Commit the changelog, man page, mat2 and setup.py 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
34
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](https://0xacab.org/jvoisin/mat2/tags) and add the changelog there
13. Announce the release on the [mailing list](https://mailman.boum.org/listinfo/mat-dev)
14. Sign'n'upload the new version on pypi with `python3 setup.py sdist bdist_wheel` then `twine upload -s dist/*`
15. Do the secret release dance