🏷️ 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-avatarorc-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 wantedandgood first issuemark issues that are written up enough for any contributor to take them on flutter,dartandrustimply 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_actionsindicate 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.trackingthis is a tracking issue on a specific subject, collecting other issues under a common umbrellatech-debtthis issue describes tech debt we have bought on and need to be dealt with at some pointbugis just the indicator that this is a bugpilotingindicates this came up in a piloting or onboarding callsmooth UX,privacy & security,e2eeandinfrastructureindicate 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.
minorby 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 theminortag and push theauto mergebutton 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 onlyquite the opposite ofminorthis indicates you are doing a significant change that you want to have onnightlya 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-demotells 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-alland 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