-
Notifications
You must be signed in to change notification settings - Fork 41
Internal contribution guide
Mateusz Front edited this page Jul 27, 2020
·
20 revisions
Here are a couple of points to remember when starting development in Membrane:
- When moving a task from "Backlog" to "To do" replace any notes with an issue in the proper repo and assign yourself.
- Create a branch with a meaningful name
- You can open a draft PR right away.
- Remember to link the issue to the PR (either by adding
Closes #and PR number or using the UI) - Try to avoid making huge PRs - if the feature you're working on is big, create draft PR with a list of steps and ask for a review as early as possible. You can create smaller PRs from sub-task branches and use the main as
masterfor this feature - When finished, assign a reviewer. Ask during the stand-up meeting who can do the review. You need at least one approval from one of the core team members and passing CI tests to merge new features.
- Do not force push changes to the reviewed commits - this breaks 'changes since last review' functionality on GH
- Always remove your branch after merging the PR. It should happen automatically. If not, enable that in settings (or ask someone with permissions to do this)
- Each new plugin should have its own repo and hex package
- The plugin should contain one or more elements related to the same format/protocol (e.g. H264 plugin may contain decoder, encoder and parser)
- One plugin should only depend on at most one native library, so if you need separate libraries for decoder and encoder each should be a separate plugin
- When starting development you should create new repo based on https://github.com/membraneframework/membrane_template_plugin, enable CI and create branch (often called
develop) and follow the usual steps.