DiviProject/Divi

Update merge process

Closed this issue · 5 comments

Description

In order to make sure new diffs in the codebase are appropriate. We need to update how merges happen in each pull request. I've actually created a guide on this a while back, and it feels very appropriate to implement everything mentioned in it.

  1. We need to create a development and staging branch. This can be done by doing:
git checkout master0
git checkout -b development
git push origin development

git checkout master0
git checkout -b staging
git push origin staging
  1. We would need to ensure the master branch is protected.

Below are some reference screenshots to update the master branch

First go to branches in settings:

Screen Shot 2020-02-09 at 1 39 30 PM

Then go to branch protection rules:

Screen Shot 2020-02-09 at 1 43 35 PM

Make sure to update with require pull request reviews and status checks to pass.

  1. We would need to update the workflow to have staging deployments first. This would mean that we need to ensure that a few staging nodes work properly in the network and can receive peers and not hard fork the chain.

To expand upon item 1, and in relation to issue #170 I would propose a segwit-staging branch.

Let's set up a stagenet that mimics the current main net 1:1 (minus the obvious, to prevent forking). @galpHub has some thoughts on how this can be implemented. The reasoning for this is to deploy daemon updates to a network that will react similarly to the main network prior to a push to production.

Also, as @galpHub mentioned on today's call, we should determine and implement a new unit testing framework to round out the new workflow prior to the implementation of #170

@99darwin, I think we're all in a consensus with GoogleTest. We should just focus on phasing out existing Boost test cases and update it in a rolling fashion to GoogleTest Framework.

@99darwin, also can we update master0 to master?

Also, ended up changing master0 to master.