Jitsi Git Standard Workflow

Hi, I tried searching for the workflow of the development of the jitsi/jitsi-meet repo.
We had recently made a mirror of the repo and started adding customisation to it.

However, we would also like to constantly merge new changes from the upstream (jitsi/jitsi-meet repo), hence we would like to know better the workflow of the repo, so that we would want minimal conflict to happen between the customisation and future changes from the upstream.

To elaborate further, below are a few questions that we have in mind:

  • is master branch always stable?
  • what’s the flow to add new features? do you follow this order -> (create new branch -> develop new features there -> merge back to master)
  • when do you guys add a publish/tag?

Looking forward to get some feedbacks from the community.
Thank you!

We are testing all builds that go into unstable which are done out of master and we try to keep it stable.

We create PRs from either branch in the project itself or in developers forks, does not matter. PRs are tested, commented and approved and then rebased or squashed into master.

At the moment every jitsi-meet-web package has a tag and every jitsi-meet (the meta debian package) also creates a tag and also when we push a stable release a new tag is created.
We have a new versioning scheme which is now used for jvb, jibri and jigasi and we will soon switch and jicofo to it. That uses version of the following-format {major}.{minor}-g{git_hash}. In that case we do not do the tags on every build, but just the stable release tags.
We will soon move jicofo to that scheme and at some point after it will come jitsi-meet-web.

I see I see, got a clearer picture now.
Thank you for your detailed explanation!