2019-11-28 03:15:20 +01:00
|
|
|
# Contributing to mat2
|
2018-05-14 22:44:54 +02:00
|
|
|
|
2019-11-28 03:15:20 +01:00
|
|
|
The main repository for mat2 is on [0xacab]( https://0xacab.org/jvoisin/mat2 ),
|
2019-03-06 22:03:31 +01:00
|
|
|
but you can send patches to jvoisin by [email](https://dustri.org/) if you prefer.
|
2018-05-14 22:44:54 +02:00
|
|
|
|
|
|
|
Do feel free to pick up [an issue]( https://0xacab.org/jvoisin/mat2/issues )
|
2021-12-09 17:13:51 +01:00
|
|
|
and to send a pull-request.
|
|
|
|
|
|
|
|
Before sending the pull-request, please do check that everything is fine by
|
|
|
|
running the full test suite in GitLab. To do that, after forking mat2 in GitLab,
|
|
|
|
you need to go in Settings -> CI/CD -> Runner and there enable shared runners.
|
|
|
|
|
|
|
|
Mat2 also has unit tests (that are also run in the full test suite). You can run
|
|
|
|
them with `python3 -m unittest discover -v`.
|
2018-05-14 22:44:54 +02:00
|
|
|
|
2018-06-07 00:11:50 +02:00
|
|
|
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.
|
|
|
|
|
2018-06-22 21:21:03 +02:00
|
|
|
If you're adding a new fileformat, please add tests for:
|
|
|
|
|
|
|
|
1. Getting metadata
|
|
|
|
2. Cleaning metadata
|
|
|
|
3. Raising `ValueError` upon a corrupted file
|
|
|
|
|
2019-11-28 03:15:20 +01:00
|
|
|
Since mat2 is written in Python3, please conform as much as possible to the
|
2018-07-02 00:27:38 +02:00
|
|
|
[pep8]( https://pep8.org/ ) style; except where it makes no sense of course.
|
|
|
|
|
2018-05-14 22:44:54 +02:00
|
|
|
# Doing a release
|
|
|
|
|
|
|
|
1. Update the [changelog](https://0xacab.org/jvoisin/mat2/blob/master/CHANGELOG.md)
|
2018-06-21 23:33:56 +02:00
|
|
|
2. Update the version in the [mat2](https://0xacab.org/jvoisin/mat2/blob/master/mat2) file
|
2018-05-21 22:53:48 +02:00
|
|
|
3. Update the version in the [setup.py](https://0xacab.org/jvoisin/mat2/blob/master/setup.py) file
|
2018-10-02 11:12:50 +02:00
|
|
|
4. Update the version and date in the [man page](https://0xacab.org/jvoisin/mat2/blob/master/doc/mat2.1)
|
2018-07-24 22:34:33 +02:00
|
|
|
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`
|
2019-03-06 22:03:46 +01:00
|
|
|
9. Download the gitlab archive of the release
|
|
|
|
10. Diff it against the local copy
|
2019-03-07 12:59:48 +01:00
|
|
|
11. If there is no difference, sign the archive with `gpg --armor --detach-sign mat2-$VERSION.tar.xz`
|
2019-03-06 22:03:46 +01:00
|
|
|
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
|