From a3827d42357dc8611ae12787ea9de399cc263991 Mon Sep 17 00:00:00 2001 From: smartcontracts Date: Thu, 17 Jun 2021 22:05:52 -0400 Subject: [PATCH 01/10] Update README.md --- README.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/README.md b/README.md index 5efb3575cc68..4fb4f4a61324 100644 --- a/README.md +++ b/README.md @@ -159,6 +159,39 @@ yarn build:integration yarn test:integration ``` +## Branching Model and Releases + + + +### Active Branches + +| Branch | Status | +| --------------- | -------------------------------------------------------------------------------- | +| [master](https://github.com/ethereum-optimism/optimism/tree/master/) | Accepts PRs ONLY from `develop` | +| [develop](https://github.com/ethereum-optimism/optimism/tree/develop/) | Accepts PRs that are compatible with `master` OR from `regenesis-X.X.X` branches | +| [regenesis-0.4.0](https://github.com/ethereum-optimism/optimism/tree/regenesis-0.4.0/) | Deployed to Goerli + Kovan. **Branch frozen**. Merge to `develop` pending tests. | +| [regenesis-0.5.0](https://github.com/ethereum-optimism/optimism/tree/regenesis-0.5.0/) | Active branch for next set of non-backwards-compatible changes. | + +### The `develop` branch + +Our primary development branch is [`develop`](https://github.com/ethereum-optimism/optimism/tree/develop/). +`develop` contains the most up-to-date software that remains backwards compatible with our latest experimental [network deployments](https://community.optimism.io/docs/developers/networks.html). +If you're making a backwards compatible change, please direct your pull request towards `develop`. +**Changes to contracts within `packages/contracts/contracts/optimistic-ethereum` are NOT considered backwards compatible and MUST be made against a release candidate branch** (see below for additional detail). + +### The `master` branch + +The `master` branch contains the code for our latest "stable" releases. +Changes to master currently MUST come from the `develop` branch. + +### Release candidate branches + +Branches marked `regenesis/X.X.X` are **release candidate branches**. +Changes that are not backwards compatible and all changes to contracts within `packages/contracts/contracts/optimistic-ethereum` MUST be directed towards a release candidate branch. +Release candidates are merged into `develop` and then into `master` once they've been fully deployed. +We may sometimes have more than one active `regenesis-X.X.X` branch if we're in the middle of a deployment. +See table in the **Active Branches** section above to find the right branch to target. + ## Additional Reference Material ### Running contract static analysis From 67c0135c1c460bad48d69bf267ea481de3c503e6 Mon Sep 17 00:00:00 2001 From: smartcontracts Date: Mon, 21 Jun 2021 12:46:57 -0400 Subject: [PATCH 02/10] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4fb4f4a61324..b51081273922 100644 --- a/README.md +++ b/README.md @@ -167,10 +167,10 @@ yarn test:integration | Branch | Status | | --------------- | -------------------------------------------------------------------------------- | -| [master](https://github.com/ethereum-optimism/optimism/tree/master/) | Accepts PRs ONLY from `develop` | -| [develop](https://github.com/ethereum-optimism/optimism/tree/develop/) | Accepts PRs that are compatible with `master` OR from `regenesis-X.X.X` branches | -| [regenesis-0.4.0](https://github.com/ethereum-optimism/optimism/tree/regenesis-0.4.0/) | Deployed to Goerli + Kovan. **Branch frozen**. Merge to `develop` pending tests. | -| [regenesis-0.5.0](https://github.com/ethereum-optimism/optimism/tree/regenesis-0.5.0/) | Active branch for next set of non-backwards-compatible changes. | +| [master](https://github.com/ethereum-optimism/optimism/tree/master/) | Accepts PRs ONLY from `develop` | +| [develop](https://github.com/ethereum-optimism/optimism/tree/develop/) | Accepts PRs that are compatible with `master` OR from `regenesis-X.X.X` branches | +| regenesis-X.X.X | Accepts PRs for all changes, particularly those not backwards compatible with `develop` and `master`. | + ### The `develop` branch From f8c09935b8401d989019f1b7c035aaa4502e9db7 Mon Sep 17 00:00:00 2001 From: smartcontracts Date: Mon, 21 Jun 2021 12:54:34 -0400 Subject: [PATCH 03/10] Update README.md --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b51081273922..7f5df1c0ac10 100644 --- a/README.md +++ b/README.md @@ -168,9 +168,13 @@ yarn test:integration | Branch | Status | | --------------- | -------------------------------------------------------------------------------- | | [master](https://github.com/ethereum-optimism/optimism/tree/master/) | Accepts PRs ONLY from `develop` | -| [develop](https://github.com/ethereum-optimism/optimism/tree/develop/) | Accepts PRs that are compatible with `master` OR from `regenesis-X.X.X` branches | -| regenesis-X.X.X | Accepts PRs for all changes, particularly those not backwards compatible with `develop` and `master`. | +| [develop](https://github.com/ethereum-optimism/optimism/tree/develop/) | Accepts PRs that are compatible with `master` OR from `regenesis/X.X.X` branches | +| regenesis/X.X.X | Accepts PRs for all changes, particularly those not backwards compatible with `develop` and `master`. | +### Overview + +We generally follow [this Git branching model](https://nvie.com/posts/a-successful-git-branching-model/). +Please read the linked post if you're planning to make frequent PRs into this repository (e.g., people working at/with Optimism). ### The `develop` branch @@ -189,7 +193,7 @@ Changes to master currently MUST come from the `develop` branch. Branches marked `regenesis/X.X.X` are **release candidate branches**. Changes that are not backwards compatible and all changes to contracts within `packages/contracts/contracts/optimistic-ethereum` MUST be directed towards a release candidate branch. Release candidates are merged into `develop` and then into `master` once they've been fully deployed. -We may sometimes have more than one active `regenesis-X.X.X` branch if we're in the middle of a deployment. +We may sometimes have more than one active `regenesis/X.X.X` branch if we're in the middle of a deployment. See table in the **Active Branches** section above to find the right branch to target. ## Additional Reference Material From ccc80fc4e75e22889be0a2aeb81793a9437bd97a Mon Sep 17 00:00:00 2001 From: smartcontracts Date: Mon, 21 Jun 2021 15:08:10 -0400 Subject: [PATCH 04/10] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7f5df1c0ac10..d606ec0458c0 100644 --- a/README.md +++ b/README.md @@ -181,7 +181,10 @@ Please read the linked post if you're planning to make frequent PRs into this re Our primary development branch is [`develop`](https://github.com/ethereum-optimism/optimism/tree/develop/). `develop` contains the most up-to-date software that remains backwards compatible with our latest experimental [network deployments](https://community.optimism.io/docs/developers/networks.html). If you're making a backwards compatible change, please direct your pull request towards `develop`. -**Changes to contracts within `packages/contracts/contracts/optimistic-ethereum` are NOT considered backwards compatible and MUST be made against a release candidate branch** (see below for additional detail). +**Changes to contracts within `packages/contracts/contracts/optimistic-ethereum` are usually NOT considered backwards compatible and SHOULD be made against a release candidate branch**. +Some exceptions to this rule exist for cases in which we absolutely must deploy some new contract after a release candidate branch has already been fully deployed. +If you're changing or adding a contract and you're unsure about which branch to make a PR into, default to using the latest release candidate branch. +See below for info about release candidate branches. ### The `master` branch From d8b4b4f1c6a99fbd980dfd229e8037cbb1476cd7 Mon Sep 17 00:00:00 2001 From: smartcontracts Date: Mon, 21 Jun 2021 15:10:13 -0400 Subject: [PATCH 05/10] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d606ec0458c0..01179ef90659 100644 --- a/README.md +++ b/README.md @@ -181,6 +181,7 @@ Please read the linked post if you're planning to make frequent PRs into this re Our primary development branch is [`develop`](https://github.com/ethereum-optimism/optimism/tree/develop/). `develop` contains the most up-to-date software that remains backwards compatible with our latest experimental [network deployments](https://community.optimism.io/docs/developers/networks.html). If you're making a backwards compatible change, please direct your pull request towards `develop`. + **Changes to contracts within `packages/contracts/contracts/optimistic-ethereum` are usually NOT considered backwards compatible and SHOULD be made against a release candidate branch**. Some exceptions to this rule exist for cases in which we absolutely must deploy some new contract after a release candidate branch has already been fully deployed. If you're changing or adding a contract and you're unsure about which branch to make a PR into, default to using the latest release candidate branch. From d607c65bc1843796436793a2fab4aed6558755a6 Mon Sep 17 00:00:00 2001 From: smartcontracts Date: Mon, 21 Jun 2021 15:11:06 -0400 Subject: [PATCH 06/10] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 01179ef90659..6cb9c90b2ab3 100644 --- a/README.md +++ b/README.md @@ -176,6 +176,11 @@ yarn test:integration We generally follow [this Git branching model](https://nvie.com/posts/a-successful-git-branching-model/). Please read the linked post if you're planning to make frequent PRs into this repository (e.g., people working at/with Optimism). +### The `master` branch + +The `master` branch contains the code for our latest "stable" releases. +Changes to master currently MUST come from the `develop` branch. + ### The `develop` branch Our primary development branch is [`develop`](https://github.com/ethereum-optimism/optimism/tree/develop/). @@ -187,11 +192,6 @@ Some exceptions to this rule exist for cases in which we absolutely must deploy If you're changing or adding a contract and you're unsure about which branch to make a PR into, default to using the latest release candidate branch. See below for info about release candidate branches. -### The `master` branch - -The `master` branch contains the code for our latest "stable" releases. -Changes to master currently MUST come from the `develop` branch. - ### Release candidate branches Branches marked `regenesis/X.X.X` are **release candidate branches**. From 1f1722cfa8fe6e4696c3adb49d8dcd670b09df38 Mon Sep 17 00:00:00 2001 From: smartcontracts Date: Mon, 21 Jun 2021 18:29:33 -0400 Subject: [PATCH 07/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 933c0118bb57..4b971fa41a5f 100644 --- a/README.md +++ b/README.md @@ -194,7 +194,7 @@ Please read the linked post if you're planning to make frequent PRs into this re ### The `master` branch The `master` branch contains the code for our latest "stable" releases. -Changes to master currently MUST come from the `develop` branch. +We only ever update the `master` branch after code has been deployed to mainnet. ### The `develop` branch From e930d5a816b1c73690e7775e2fc895e57bd311b4 Mon Sep 17 00:00:00 2001 From: smartcontracts Date: Mon, 21 Jun 2021 18:31:23 -0400 Subject: [PATCH 08/10] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b971fa41a5f..27dbfa3993b3 100644 --- a/README.md +++ b/README.md @@ -194,7 +194,9 @@ Please read the linked post if you're planning to make frequent PRs into this re ### The `master` branch The `master` branch contains the code for our latest "stable" releases. -We only ever update the `master` branch after code has been deployed to mainnet. +Updates from `master` always come from the `develop` branch. +We only ever update the `master` branch after code within the `develop` branch has been successfully deployed to the Optimistic Ethereum mainnet. +Our update process typically takes the form of a forced push of the `develop` branch into the `master` branch. ### The `develop` branch From ad6d693368edb2e8ec56e4d46d03b79f9bf8e984 Mon Sep 17 00:00:00 2001 From: smartcontracts Date: Tue, 22 Jun 2021 17:16:57 -0400 Subject: [PATCH 09/10] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 27dbfa3993b3..b08d5c15dee7 100644 --- a/README.md +++ b/README.md @@ -182,8 +182,8 @@ yarn test:integration | Branch | Status | | --------------- | -------------------------------------------------------------------------------- | -| [master](https://github.com/ethereum-optimism/optimism/tree/master/) | Accepts PRs ONLY from `develop` | -| [develop](https://github.com/ethereum-optimism/optimism/tree/develop/) | Accepts PRs that are compatible with `master` OR from `regenesis/X.X.X` branches | +| [master](https://github.com/ethereum-optimism/optimism/tree/master/) | Does not accept PRs. Changes are force-pushed from `develop` when we intend to deploy to mainnet. | +| [develop](https://github.com/ethereum-optimism/optimism/tree/develop/) | Accepts PRs that are compatible with `master` OR from `regenesis/X.X.X` branches | | regenesis/X.X.X | Accepts PRs for all changes, particularly those not backwards compatible with `develop` and `master`. | ### Overview From e2923d347bf98bc0ab883f6d2af51e82ea465694 Mon Sep 17 00:00:00 2001 From: smartcontracts Date: Wed, 23 Jun 2021 13:52:08 -0400 Subject: [PATCH 10/10] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b08d5c15dee7..dc179472a6e7 100644 --- a/README.md +++ b/README.md @@ -182,8 +182,8 @@ yarn test:integration | Branch | Status | | --------------- | -------------------------------------------------------------------------------- | -| [master](https://github.com/ethereum-optimism/optimism/tree/master/) | Does not accept PRs. Changes are force-pushed from `develop` when we intend to deploy to mainnet. | -| [develop](https://github.com/ethereum-optimism/optimism/tree/develop/) | Accepts PRs that are compatible with `master` OR from `regenesis/X.X.X` branches | +| [master](https://github.com/ethereum-optimism/optimism/tree/master/) | Accepts PRs from `develop` when we intend to deploy to mainnet. | +| [develop](https://github.com/ethereum-optimism/optimism/tree/develop/) | Accepts PRs that are compatible with `master` OR from `regenesis/X.X.X` branches. | | regenesis/X.X.X | Accepts PRs for all changes, particularly those not backwards compatible with `develop` and `master`. | ### Overview @@ -195,8 +195,8 @@ Please read the linked post if you're planning to make frequent PRs into this re The `master` branch contains the code for our latest "stable" releases. Updates from `master` always come from the `develop` branch. -We only ever update the `master` branch after code within the `develop` branch has been successfully deployed to the Optimistic Ethereum mainnet. -Our update process typically takes the form of a forced push of the `develop` branch into the `master` branch. +We only ever update the `master` branch when we intend to deploy code within the `develop` to the Optimistic Ethereum mainnet. +Our update process takes the form of a PR merging the `develop` branch into the `master` branch. ### The `develop` branch