Skip to content

Commit

Permalink
Merge 877eb8a into c9b5350
Browse files Browse the repository at this point in the history
  • Loading branch information
dapplion authored Feb 1, 2022
2 parents c9b5350 + 877eb8a commit 68db91b
Show file tree
Hide file tree
Showing 15 changed files with 91 additions and 76 deletions.
38 changes: 27 additions & 11 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,52 @@

## Release Process Rules

1. The team selects a commit from `master` as a "stable target" for a new version release.
2. The selected commit is branched into a separate release branch (Example: `v0.33.x`)
3. Bump version on `package.json` and `lerna.json`
4. The commit is released and published for testing as a Pre-Release.
5. The team bumps `master` to the next version and continues releasing nightly builds. (Example: `v0.34.0`)
In the same day:

1. The team selects a commit from `master` as a "stable target" for a new version release. As example target next version is `v0.34.0`. Master package.json versions are already at `v0.34.0` to release nightly versions.
2. The selected commit is branched into a separate release branch (Example: `v0.34.x`)
3. The selected commit is tagged as `v0.34.0-beta.0`, released, and published for testing as a Pre-Release
4. The team creates a PR to bump `master` to the next version (in the example: `v0.35.0`) and continues releasing nightly builds.

```
lerna version minor --no-git-tag-version
```

After 3-5 days of testing:

5. Tag final stable commit as `v0.34.0`, release and publish the stable release. This commit will be in `v0.34.x` branch and may note be on `master` if beta candidate required bug fixes.

## Pre-Releases
A `v.beta.x` release is published and tagged (Example: `v0.33.0-beta.0`) when the team selects a commit as a "stable target" candidate.

A `v.beta.x` release is published and tagged (Example: `v0.33.0-beta.0`) when the team selects a commit as a "stable target" candidate.

### Pre-Release Testing Checklist
We test the pre-release candidate on multiple servers with a variance of connected validators on a stable testnet for a minimum of three (3) days.

We test the pre-release candidate on multiple servers with a variance of connected validators on a stable testnet for a minimum of three (3) days.

The following observations must be taken into consideration before promoting the pre-release candidate to a `:stable` release:

- Are there any critical issues observed?
- Examples: Memory leaks, abnormally high memory usage, abnormally high CPU performance, etc.

- Examples: Memory leaks, abnormally high memory usage, abnormally high CPU performance, etc.

- Has profitibility been affected?
- Has profitability decreased and whether or not the variance is acceptable.

- Has profitability decreased and whether or not the variance is acceptable.

- Has any performance metric degraded comparably to the previous `stable` release? If yes, is the variance acceptable?
- Example: Block processing times, validator miss ratios, etc.
- Example: Block processing times, validator miss ratios, etc.

### Bug fixes to Pre-Releases

If there is a bug discovered during the pre-release testing period which significantly impacts performance, security or stability, and it is determined that it is no longer prudent to release the `beta.x` candidate as `stable`, then it will await a bug fix by the team. The fix will be committed, back-ported to `master` and we publish and promote the new commit to `beta.x+1`. The 3 day testing period minimums will reset.

## Stable Releases
When the pre-release candidate (Example: `v0.33.0-beta.0`) has met the testing requirements, we execute `release.yml`. This script will promote & tag the candidate to the `stable` release track and remove `beta.x`, publishing the version as `v0.33.0`.

When the pre-release candidate (Example: `v0.33.0-beta.0`) has met the testing requirements, we execute `release.yml`. This script will promote & tag the candidate to the `stable` release track and remove `beta.x`, publishing the version as `v0.33.0`.

The CI will check and tag the new stable release, publish to the NPM Registry and to Docker Hub.

## Minor/Patch Releases

The `minor` is increased as soon as new smaller features do get introduced. A minor release will not affect any depending project. Such a release only introduces smaller enhancements and features. A `patch` release only contains required bug fixes with a low risk to impact depending project.
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
],
"npmClient": "yarn",
"useWorkspaces": true,
"version": "0.34.0",
"version": "0.35.0",
"stream": "true",
"command": {
"version": {
Expand Down
10 changes: 5 additions & 5 deletions packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"bugs": {
"url": "https://github.com/ChainSafe/lodestar/issues"
},
"version": "0.34.0",
"version": "0.35.0",
"main": "lib/index.js",
"files": [
"lib/**/*.d.ts",
Expand All @@ -36,10 +36,10 @@
},
"dependencies": {
"@chainsafe/abort-controller": "^3.0.1",
"@chainsafe/lodestar-config": "^0.34.0",
"@chainsafe/lodestar-params": "^0.34.0",
"@chainsafe/lodestar-types": "^0.34.0",
"@chainsafe/lodestar-utils": "^0.34.0",
"@chainsafe/lodestar-config": "^0.35.0",
"@chainsafe/lodestar-params": "^0.35.0",
"@chainsafe/lodestar-types": "^0.35.0",
"@chainsafe/lodestar-utils": "^0.35.0",
"@chainsafe/persistent-merkle-tree": "^0.3.7",
"@chainsafe/ssz": "^0.8.20",
"cross-fetch": "^3.1.4",
Expand Down
10 changes: 5 additions & 5 deletions packages/beacon-state-transition/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"bugs": {
"url": "https://github.com/ChainSafe/lodestar/issues"
},
"version": "0.34.0",
"version": "0.35.0",
"main": "lib/index.js",
"files": [
"lib/**/*.d.ts",
Expand All @@ -36,10 +36,10 @@
"types": "lib/index.d.ts",
"dependencies": {
"@chainsafe/bls": "6.0.3",
"@chainsafe/lodestar-config": "^0.34.0",
"@chainsafe/lodestar-params": "^0.34.0",
"@chainsafe/lodestar-types": "^0.34.0",
"@chainsafe/lodestar-utils": "^0.34.0",
"@chainsafe/lodestar-config": "^0.35.0",
"@chainsafe/lodestar-params": "^0.35.0",
"@chainsafe/lodestar-types": "^0.35.0",
"@chainsafe/lodestar-utils": "^0.35.0",
"@chainsafe/persistent-merkle-tree": "^0.3.7",
"@chainsafe/persistent-ts": "^0.19.1",
"@chainsafe/ssz": "^0.8.20",
Expand Down
20 changes: 10 additions & 10 deletions packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@chainsafe/lodestar-cli",
"version": "0.34.0",
"version": "0.35.0",
"description": "Command line interface for other packages",
"author": "ChainSafe Systems",
"license": "LGPL-3.0",
Expand Down Expand Up @@ -54,15 +54,15 @@
"@chainsafe/bls-keystore": "2.0.0",
"@chainsafe/blst": "^0.2.2",
"@chainsafe/discv5": "^0.6.7",
"@chainsafe/lodestar": "^0.34.0",
"@chainsafe/lodestar-api": "^0.34.0",
"@chainsafe/lodestar-beacon-state-transition": "^0.34.0",
"@chainsafe/lodestar-config": "^0.34.0",
"@chainsafe/lodestar-db": "^0.34.0",
"@chainsafe/lodestar-params": "^0.34.0",
"@chainsafe/lodestar-types": "^0.34.0",
"@chainsafe/lodestar-utils": "^0.34.0",
"@chainsafe/lodestar-validator": "^0.34.0",
"@chainsafe/lodestar": "^0.35.0",
"@chainsafe/lodestar-api": "^0.35.0",
"@chainsafe/lodestar-beacon-state-transition": "^0.35.0",
"@chainsafe/lodestar-config": "^0.35.0",
"@chainsafe/lodestar-db": "^0.35.0",
"@chainsafe/lodestar-params": "^0.35.0",
"@chainsafe/lodestar-types": "^0.35.0",
"@chainsafe/lodestar-utils": "^0.35.0",
"@chainsafe/lodestar-validator": "^0.35.0",
"@chainsafe/ssz": "^0.8.20",
"@types/lockfile": "^1.0.1",
"bip39": "^3.0.2",
Expand Down
6 changes: 3 additions & 3 deletions packages/config/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@chainsafe/lodestar-config",
"version": "0.34.0",
"version": "0.35.0",
"description": "Chain configuration required for lodestar",
"author": "ChainSafe Systems",
"license": "Apache-2.0",
Expand Down Expand Up @@ -42,8 +42,8 @@
"blockchain"
],
"dependencies": {
"@chainsafe/lodestar-params": "^0.34.0",
"@chainsafe/lodestar-types": "^0.34.0",
"@chainsafe/lodestar-params": "^0.35.0",
"@chainsafe/lodestar-types": "^0.35.0",
"@chainsafe/ssz": "^0.8.20"
}
}
6 changes: 3 additions & 3 deletions packages/db/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@chainsafe/lodestar-db",
"version": "0.34.0",
"version": "0.35.0",
"description": "DB modules of Lodestar",
"author": "ChainSafe Systems",
"homepage": "https://github.com/ChainSafe/lodestar#readme",
Expand Down Expand Up @@ -36,8 +36,8 @@
"check-readme": "typescript-docs-verifier"
},
"dependencies": {
"@chainsafe/lodestar-config": "^0.34.0",
"@chainsafe/lodestar-utils": "^0.34.0",
"@chainsafe/lodestar-config": "^0.35.0",
"@chainsafe/lodestar-utils": "^0.35.0",
"@chainsafe/ssz": "^0.8.20",
"@types/levelup": "^4.3.3",
"it-all": "^1.0.2",
Expand Down
12 changes: 6 additions & 6 deletions packages/fork-choice/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"bugs": {
"url": "https://github.com/ChainSafe/lodestar/issues"
},
"version": "0.34.0",
"version": "0.35.0",
"main": "lib/index.js",
"files": [
"lib/**/*.d.ts",
Expand All @@ -37,11 +37,11 @@
"check-readme": "typescript-docs-verifier"
},
"dependencies": {
"@chainsafe/lodestar-beacon-state-transition": "^0.34.0",
"@chainsafe/lodestar-config": "^0.34.0",
"@chainsafe/lodestar-params": "^0.34.0",
"@chainsafe/lodestar-types": "^0.34.0",
"@chainsafe/lodestar-utils": "^0.34.0",
"@chainsafe/lodestar-beacon-state-transition": "^0.35.0",
"@chainsafe/lodestar-config": "^0.35.0",
"@chainsafe/lodestar-params": "^0.35.0",
"@chainsafe/lodestar-types": "^0.35.0",
"@chainsafe/lodestar-utils": "^0.35.0",
"@chainsafe/ssz": "^0.8.20"
},
"keywords": [
Expand Down
12 changes: 6 additions & 6 deletions packages/light-client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"bugs": {
"url": "https://github.com/ChainSafe/lodestar/issues"
},
"version": "0.34.0",
"version": "0.35.0",
"main": "lib/index.js",
"files": [
"lib/**/*.d.ts",
Expand All @@ -37,11 +37,11 @@
"dependencies": {
"@chainsafe/abort-controller": "^3.0.1",
"@chainsafe/bls": "6.0.3",
"@chainsafe/lodestar-api": "^0.34.0",
"@chainsafe/lodestar-config": "^0.34.0",
"@chainsafe/lodestar-params": "^0.34.0",
"@chainsafe/lodestar-types": "^0.34.0",
"@chainsafe/lodestar-utils": "^0.34.0",
"@chainsafe/lodestar-api": "^0.35.0",
"@chainsafe/lodestar-config": "^0.35.0",
"@chainsafe/lodestar-params": "^0.35.0",
"@chainsafe/lodestar-types": "^0.35.0",
"@chainsafe/lodestar-utils": "^0.35.0",
"@chainsafe/persistent-merkle-tree": "^0.3.7",
"@chainsafe/ssz": "^0.8.20",
"cross-fetch": "^3.1.4",
Expand Down
22 changes: 11 additions & 11 deletions packages/lodestar/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"bugs": {
"url": "https://github.com/ChainSafe/lodestar/issues"
},
"version": "0.34.0",
"version": "0.35.0",
"main": "lib/index.js",
"files": [
"lib/**/*.d.ts",
Expand Down Expand Up @@ -64,16 +64,16 @@
"@chainsafe/bls": "6.0.3",
"@chainsafe/discv5": "^0.6.7",
"@chainsafe/libp2p-noise": "5.0.0",
"@chainsafe/lodestar-api": "^0.34.0",
"@chainsafe/lodestar-beacon-state-transition": "^0.34.0",
"@chainsafe/lodestar-config": "^0.34.0",
"@chainsafe/lodestar-db": "^0.34.0",
"@chainsafe/lodestar-fork-choice": "^0.34.0",
"@chainsafe/lodestar-light-client": "^0.34.0",
"@chainsafe/lodestar-params": "^0.34.0",
"@chainsafe/lodestar-types": "^0.34.0",
"@chainsafe/lodestar-utils": "^0.34.0",
"@chainsafe/lodestar-validator": "^0.34.0",
"@chainsafe/lodestar-api": "^0.35.0",
"@chainsafe/lodestar-beacon-state-transition": "^0.35.0",
"@chainsafe/lodestar-config": "^0.35.0",
"@chainsafe/lodestar-db": "^0.35.0",
"@chainsafe/lodestar-fork-choice": "^0.35.0",
"@chainsafe/lodestar-light-client": "^0.35.0",
"@chainsafe/lodestar-params": "^0.35.0",
"@chainsafe/lodestar-types": "^0.35.0",
"@chainsafe/lodestar-utils": "^0.35.0",
"@chainsafe/lodestar-validator": "^0.35.0",
"@chainsafe/persistent-merkle-tree": "^0.3.7",
"@chainsafe/snappy-stream": "5.0.0",
"@chainsafe/ssz": "^0.8.20",
Expand Down
3 changes: 1 addition & 2 deletions packages/params/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@chainsafe/lodestar-params",
"version": "0.34.0",
"version": "0.35.0",
"description": "Chain parameters required for lodestar",
"author": "ChainSafe Systems",
"license": "Apache-2.0",
Expand Down Expand Up @@ -42,7 +42,6 @@
"beacon",
"blockchain"
],
"dependencies": {},
"devDependencies": {
"@types/js-yaml": "^4.0.3",
"axios": "^0.21.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/spec-test-util/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@chainsafe/lodestar-spec-test-util",
"version": "0.34.0",
"version": "0.35.0",
"description": "Spec test suite generator from yaml test files",
"author": "ChainSafe Systems",
"license": "Apache-2.0",
Expand Down Expand Up @@ -45,7 +45,7 @@
"blockchain"
],
"dependencies": {
"@chainsafe/lodestar-utils": "^0.34.0",
"@chainsafe/lodestar-utils": "^0.35.0",
"@chainsafe/ssz": "^0.8.20",
"async-retry": "^1.3.3",
"axios": "^0.21.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/types/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"bugs": {
"url": "https://github.com/ChainSafe/lodestar/issues"
},
"version": "0.34.0",
"version": "0.35.0",
"main": "lib/index.js",
"files": [
"lib/**/*.d.ts",
Expand All @@ -35,7 +35,7 @@
},
"types": "lib/index.d.ts",
"dependencies": {
"@chainsafe/lodestar-params": "^0.34.0",
"@chainsafe/lodestar-params": "^0.35.0",
"@chainsafe/ssz": "^0.8.20"
},
"keywords": [
Expand Down
2 changes: 1 addition & 1 deletion packages/utils/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"bugs": {
"url": "https://github.com/ChainSafe/lodestar/issues"
},
"version": "0.34.0",
"version": "0.35.0",
"main": "lib/index.js",
"files": [
"lib/**/*.d.ts",
Expand Down
16 changes: 8 additions & 8 deletions packages/validator/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@chainsafe/lodestar-validator",
"version": "0.34.0",
"version": "0.35.0",
"description": "A Typescript implementation of the validator client",
"author": "ChainSafe Systems",
"license": "LGPL-3.0",
Expand Down Expand Up @@ -47,13 +47,13 @@
"dependencies": {
"@chainsafe/abort-controller": "^3.0.1",
"@chainsafe/bls": "6.0.3",
"@chainsafe/lodestar-api": "^0.34.0",
"@chainsafe/lodestar-beacon-state-transition": "^0.34.0",
"@chainsafe/lodestar-config": "^0.34.0",
"@chainsafe/lodestar-db": "^0.34.0",
"@chainsafe/lodestar-params": "^0.34.0",
"@chainsafe/lodestar-types": "^0.34.0",
"@chainsafe/lodestar-utils": "^0.34.0",
"@chainsafe/lodestar-api": "^0.35.0",
"@chainsafe/lodestar-beacon-state-transition": "^0.35.0",
"@chainsafe/lodestar-config": "^0.35.0",
"@chainsafe/lodestar-db": "^0.35.0",
"@chainsafe/lodestar-params": "^0.35.0",
"@chainsafe/lodestar-types": "^0.35.0",
"@chainsafe/lodestar-utils": "^0.35.0",
"@chainsafe/ssz": "^0.8.20",
"bigint-buffer": "^1.1.5",
"cross-fetch": "^3.1.4",
Expand Down

0 comments on commit 68db91b

Please sign in to comment.