🏷️ Special PR & issue labels
We have a few special Tags on our Issues and Pull-Requests in Github. This tries to explain them to the extend they are useful.
General Tags
Tag-Prefixes
We have a list of prefixes for certain tags that share a common "category" of some sort. They usually also have the exact same color to keep them visibly distinct.
c-
(likec-avatar
orc-super-invites
) indicate that this issue/PR belongs to a specific "component" of the application, e.g. a plugin or package we haveci-
(likeci-test-ui-test-all
) indicate Github workflow specific tags (see below), mostly for PRsf-
(likef-attachments
) are indicating that this is about a specific app-wide featureneeds
(likeneeds input
,needs investigation
,needs design
) indicate that this issue is stalled because of external requirements that need to be mets-
(likes-news
,s-chat
) indicate this issue is about a specific sectiont-
(liket-desktop
) indicate this issue/PR is about a specific target platform
Informational
Some labels are purely to convey some simple information, like
-
help wanted
andgood first issue
mark issues that are written up enough for any contributor to take them on flutter
,dart
andrust
imply that the content is only containing this type of code (which is useful for reviewers if they are only knowledgeable in certain areas)documentation
,dependencies
,translations
,github_actions
indicate that the given issue PR is only about the indicated thing, e.g. an update of translation, documentation or dependencies without any further code changes.tracking
this is a tracking issue on a specific subject, collecting other issues under a common umbrellatech-debt
this issue describes tech debt we have bought on and need to be dealt with at some pointbug
is just the indicator that this is a bugpiloting
indicates this came up in a piloting or onboarding callsmooth UX
,privacy & security
,e2ee
andinfrastructure
indicate this issue is of certain importance in relation to the given subject
Procedural tags
We have a few tags that we use to convey important information about the process of this PR.
minor
by default all PRs need a reviewer to sign-off before merging. Sometimes that procedure is overkill and just slows down the process for minor things. If the thing is really just a small patch, you have commit rights to the repo and you are willing to take over all responsibility for it you can mark them with theminor
tag and push theauto merge
button right after. You can also still indicate reviewers but you should be clear whether you will be waiting for their review or not in the description or commentmerge post release only
quite the opposite ofminor
this indicates you are doing a significant change that you want to have onnightly
a few days before sending it out to the weekly release. PRs marked with this may only be merged from Thursday (after the release has been cut) until Monday (before the Tuesday nightly will be cut) to give us at least two nightly cycles to play with it.
CI control
We have several tags that control what the CI does on a specific PR.
build-demo
tells the CI that the author wants demo builds of the App for the given PR. This is only possible if the PR is on ademo-
-prefixed-branch on the main repo (due to the need to access repo specific secrets). But these constraints are met every push the CI will attempt to build the demo release version of the App and post the link to the assets as comment.
This is very helpful if you need to test that the changes given do not break the final built.- (in progress) Running the entire end-to-end-test integration test suite of the app is costly - in both times and resources. So we are not running it on every PR. But if you want your PR to be checked with it you can add
ci-test-ui-all
and the CI will run the test suite against your PR. We usually only run this after every merge.
UI Tests don't currently run on CI... see this issue