1
0
mirror of https://github.com/Mailu/Mailu.git synced 2025-01-22 03:39:05 +02:00
Mailu/docs/contributors/workflow.rst

83 lines
3.4 KiB
ReStructuredText
Raw Normal View History

Contribution workflow
=====================
.. _git_workflow:
2017-11-05 00:24:18 +01:00
Forking vs. committing
----------------------
2017-11-05 00:24:18 +01:00
Linus' way of things sounds fine for now: if you find yourself implementing a
new feature, either send me an email with a bunch of commits or use Github
pull request feature. Maybe if the user base grows too much as well as the need
for trust in a specific branch of the project, we can switch to a shared
repository and add a couple of trusted committers.
Commits
-------
2017-11-05 00:24:18 +01:00
This is a community project, thus commits should be readable enough for any of
the contributors to guess the content by simply reading the comment or find a
proper commit when one knows what they are looking for.
2017-11-05 00:24:18 +01:00
2023-10-20 09:20:30 +02:00
Usual standards remain: write English comments, single line short comments and
additional multi-line if required (keep in mind that the most important piece
2017-11-05 00:24:18 +01:00
of information should fit in the first line).
Branches
--------
2017-11-05 00:24:18 +01:00
You are of course free of naming you branches to your taste or even using
master directly if you find this appropriate. Still, keep in mind that:
- a git email or a pull request should address a single feature a bug,
so keep your branches as tidy as possible;
- this is a small project with a limited number of forks and active threads
on Github, so someone might want to look at your fork and find the branch you
2017-11-05 00:24:18 +01:00
are using to implement a specific feature; to avoid any hassle, we suggest
that you use branch names prefixed with ``feat-`` or ``fix-`` and followed
either by the name of the Github issue or a short and meaningful name.
PR Workflow
-----------
All pull requests have to be against the main ``master`` branch.
The PR gets build by a Github Action workflow and some primitive auto-testing is done.
Test images get uploaded to a separate section in Docker hub.
Reviewers will check the PR and test the resulting images.
See the :ref:`testing` section for more info.
Urgent fixes can be backported to the stable branch.
For this a member of **Mailu/contributors** has to set the ``type/backport`` label.
Upon merge of the original PR, a copy of the PR is created against the stable branch.
After some testing on master, we will approve and merge this new PR as well.
2017-11-05 00:24:18 +01:00
At the end of every milestone, a new stable branch will be created from ``master``
or any previous commit that matches the completion of the milestone.
2019-02-14 17:18:10 +02:00
CHANGELOG
---------
2019-02-14 17:18:10 +02:00
Adding entries in the CHANGELOG is an automated process which requires creation of a file under
``towncrier/newsfragments`` directory.
The start of the filename is the ticket number, and the content is what will end up in the news file.
2019-02-14 17:24:12 +02:00
For example, if ticket ``#850`` is about adding a new widget, the filename would be towncrier/newsfragments/850.feature
2019-02-14 17:18:10 +02:00
and the content would be ``Feature that has just been added``.
Supported file extensions are:
2019-02-14 17:24:12 +02:00
- ``.feature``: Signifying a new feature.
- ``.bugfix``: Signifying a bug fix.
- ``.doc``: Signifying a documentation improvement.
- ``.removal``: Signifying a deprecation or removal of public API.
- ``.misc``: A ticket has been closed, but it is not of interest to users.
2019-02-14 17:18:10 +02:00
2017-11-05 00:24:18 +01:00
Forked projects
---------------
2022-10-19 19:36:13 +02:00
If you find yourself forking the project for a specific independent purpose
(commercial use, different philosophy or incompatible point of view), we would
2017-11-05 00:24:18 +01:00
be glad if you let us know so that we can list interesting known forks and
their specific features (and backport some of them if your implementation
is free as well).