-
Notifications
You must be signed in to change notification settings - Fork 39
Internal contribution guide
Bartosz Błaszków edited this page Jul 24, 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 issue in 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 review as early as possible. You can smaller PRs from sub-task branches and use the main as
master
for this feature - When finished assign a reviewer. Ask during 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.
- 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.