Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create RELEASE.md #3587

Merged
merged 5 commits into from
Jan 25, 2022
Merged

Create RELEASE.md #3587

merged 5 commits into from
Jan 25, 2022

Conversation

philknows
Copy link
Member

Persisting release information into the main directory for reference. To help close #3036.

@philknows philknows added the scope-documentation All issues related to the Lodestar documentation. label Jan 7, 2022
@philknows philknows self-assigned this Jan 7, 2022
@codeclimate
Copy link

codeclimate bot commented Jan 7, 2022

Code Climate has analyzed commit 8296990 and detected 0 issues on this pull request.

View more on Code Climate.

@codecov
Copy link

codecov bot commented Jan 7, 2022

Codecov Report

Merging #3587 (8296990) into master (f52c33d) will decrease coverage by 1.27%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3587      +/-   ##
==========================================
- Coverage   37.52%   36.25%   -1.28%     
==========================================
  Files         311      312       +1     
  Lines        8348     8859     +511     
  Branches     1293     1434     +141     
==========================================
+ Hits         3133     3212      +79     
- Misses       5066     5496     +430     
- Partials      149      151       +2     

@github-actions
Copy link
Contributor

github-actions bot commented Jan 7, 2022

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: b6e269c Previous: 8c3a418 Ratio
BeaconState.hashTreeRoot - No change 625.00 ns/op 651.00 ns/op 0.96
BeaconState.hashTreeRoot - 1 full validator 150.08 us/op 158.58 us/op 0.95
BeaconState.hashTreeRoot - 32 full validator 2.2328 ms/op 2.3502 ms/op 0.95
BeaconState.hashTreeRoot - 512 full validator 29.248 ms/op 31.572 ms/op 0.93
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 149.92 us/op 156.19 us/op 0.96
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 2.2959 ms/op 2.4476 ms/op 0.94
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 31.340 ms/op 33.806 ms/op 0.93
BeaconState.hashTreeRoot - 1 balances 104.63 us/op 108.75 us/op 0.96
BeaconState.hashTreeRoot - 32 balances 803.85 us/op 933.66 us/op 0.86
BeaconState.hashTreeRoot - 512 balances 7.9810 ms/op 9.0952 ms/op 0.88
BeaconState.hashTreeRoot - 250000 balances 164.51 ms/op 172.27 ms/op 0.95
processSlot - 1 slots 65.026 us/op 55.563 us/op 1.17
processSlot - 32 slots 3.5151 ms/op 3.4554 ms/op 1.02
getCommitteeAssignments - req 1 vs - 250000 vc 4.8460 ms/op 6.5163 ms/op 0.74
getCommitteeAssignments - req 100 vs - 250000 vc 6.8008 ms/op 8.9801 ms/op 0.76
getCommitteeAssignments - req 1000 vs - 250000 vc 7.8344 ms/op 9.6248 ms/op 0.81
computeProposers - vc 250000 23.685 ms/op 25.120 ms/op 0.94
computeEpochShuffling - vc 250000 195.62 ms/op 221.64 ms/op 0.88
getNextSyncCommittee - vc 250000 399.38 ms/op 411.80 ms/op 0.97
altair processAttestation - 250000 vs - 7PWei normalcase 46.671 ms/op 47.702 ms/op 0.98
altair processAttestation - 250000 vs - 7PWei worstcase 52.467 ms/op 49.747 ms/op 1.05
altair processAttestation - setStatus - 1/6 committees join 14.374 ms/op 13.506 ms/op 1.06
altair processAttestation - setStatus - 1/3 committees join 26.957 ms/op 29.582 ms/op 0.91
altair processAttestation - setStatus - 1/2 committees join 39.464 ms/op 39.876 ms/op 0.99
altair processAttestation - setStatus - 2/3 committees join 52.667 ms/op 54.529 ms/op 0.97
altair processAttestation - setStatus - 4/5 committees join 71.753 ms/op 66.300 ms/op 1.08
altair processAttestation - setStatus - 100% committees join 83.474 ms/op 86.346 ms/op 0.97
altair processAttestation - updateEpochParticipants - 1/6 committees join 14.134 ms/op 14.241 ms/op 0.99
altair processAttestation - updateEpochParticipants - 1/3 committees join 31.175 ms/op 29.400 ms/op 1.06
altair processAttestation - updateEpochParticipants - 1/2 committees join 36.637 ms/op 30.015 ms/op 1.22
altair processAttestation - updateEpochParticipants - 2/3 committees join 34.008 ms/op 32.938 ms/op 1.03
altair processAttestation - updateEpochParticipants - 4/5 committees join 34.923 ms/op 39.132 ms/op 0.89
altair processAttestation - updateEpochParticipants - 100% committees join 36.115 ms/op 33.069 ms/op 1.09
altair processAttestation - updateAllStatus 24.288 ms/op 24.915 ms/op 0.97
altair processBlock - 250000 vs - 7PWei normalcase 58.413 ms/op 52.309 ms/op 1.12
altair processBlock - 250000 vs - 7PWei worstcase 139.18 ms/op 140.50 ms/op 0.99
altair processEpoch - mainnet_e81889 1.1180 s/op 1.2299 s/op 0.91
mainnet_e81889 - altair beforeProcessEpoch 413.80 ms/op 306.44 ms/op 1.35
mainnet_e81889 - altair processJustificationAndFinalization 123.98 us/op 73.325 us/op 1.69
mainnet_e81889 - altair processInactivityUpdates 17.436 ms/op 26.188 ms/op 0.67
mainnet_e81889 - altair processRewardsAndPenalties 141.30 ms/op 169.36 ms/op 0.83
mainnet_e81889 - altair processRegistryUpdates 22.318 us/op 11.907 us/op 1.87
mainnet_e81889 - altair processSlashings 6.2870 us/op 3.4020 us/op 1.85
mainnet_e81889 - altair processEth1DataReset 6.8930 us/op 3.0830 us/op 2.24
mainnet_e81889 - altair processEffectiveBalanceUpdates 11.222 ms/op 15.040 ms/op 0.75
mainnet_e81889 - altair processSlashingsReset 39.665 us/op 20.016 us/op 1.98
mainnet_e81889 - altair processRandaoMixesReset 42.662 us/op 21.453 us/op 1.99
mainnet_e81889 - altair processHistoricalRootsUpdate 10.133 us/op 4.2040 us/op 2.41
mainnet_e81889 - altair processParticipationFlagUpdates 169.54 ms/op 120.52 ms/op 1.41
mainnet_e81889 - altair processSyncCommitteeUpdates 5.9970 us/op 2.8690 us/op 2.09
mainnet_e81889 - altair afterProcessEpoch 215.71 ms/op 266.25 ms/op 0.81
altair processInactivityUpdates - 250000 normalcase 84.335 ms/op 88.079 ms/op 0.96
altair processInactivityUpdates - 250000 worstcase 81.231 ms/op 121.10 ms/op 0.67
altair processParticipationFlagUpdates - 250000 anycase 94.188 ms/op 127.88 ms/op 0.74
altair processRewardsAndPenalties - 250000 normalcase 154.19 ms/op 183.64 ms/op 0.84
altair processRewardsAndPenalties - 250000 worstcase 150.40 ms/op 179.97 ms/op 0.84
altair processSyncCommitteeUpdates - 250000 403.02 ms/op 432.90 ms/op 0.93
Tree 40 250000 create 964.89 ms/op 998.40 ms/op 0.97
Tree 40 250000 get(125000) 337.98 ns/op 390.53 ns/op 0.87
Tree 40 250000 set(125000) 2.3058 us/op 2.2272 us/op 1.04
Tree 40 250000 toArray() 53.124 ms/op 44.613 ms/op 1.19
Tree 40 250000 iterate all - toArray() + loop 53.423 ms/op 51.999 ms/op 1.03
Tree 40 250000 iterate all - get(i) 121.55 ms/op 141.87 ms/op 0.86
MutableVector 250000 create 20.479 ms/op 32.313 ms/op 0.63
MutableVector 250000 get(125000) 14.104 ns/op 16.387 ns/op 0.86
MutableVector 250000 set(125000) 530.19 ns/op 607.50 ns/op 0.87
MutableVector 250000 toArray() 8.0289 ms/op 10.529 ms/op 0.76
MutableVector 250000 iterate all - toArray() + loop 21.143 ms/op 10.574 ms/op 2.00
MutableVector 250000 iterate all - get(i) 3.2049 ms/op 4.0924 ms/op 0.78
Array 250000 create 5.7217 ms/op 6.5488 ms/op 0.87
Array 250000 clone - spread 1.7279 ms/op 2.5625 ms/op 0.67
Array 250000 get(125000) 0.89900 ns/op 1.2220 ns/op 0.74
Array 250000 set(125000) 0.92000 ns/op 1.2530 ns/op 0.73
Array 250000 iterate all - loop 124.89 us/op 201.50 us/op 0.62
aggregationBits - 2048 els - readonlyValues 206.13 us/op 277.85 us/op 0.74
aggregationBits - 2048 els - zipIndexesInBitList 33.404 us/op 52.223 us/op 0.64
regular array get 100000 times 53.477 us/op 80.954 us/op 0.66
wrappedArray get 100000 times 51.568 us/op 81.029 us/op 0.64
arrayWithProxy get 100000 times 32.630 ms/op 34.405 ms/op 0.95
ssz.Root.equals 1.1010 us/op 1.4230 us/op 0.77
ssz.Root.equals with valueOf() 1.3310 us/op 1.7570 us/op 0.76
byteArrayEquals with valueOf() 1.1770 us/op 1.7610 us/op 0.67
phase0 processBlock - 250000 vs - 7PWei normalcase 12.091 ms/op 12.485 ms/op 0.97
phase0 processBlock - 250000 vs - 7PWei worstcase 110.42 ms/op 92.203 ms/op 1.20
phase0 afterProcessEpoch - 250000 vs - 7PWei 212.48 ms/op 246.36 ms/op 0.86
phase0 beforeProcessEpoch - 250000 vs - 7PWei 671.70 ms/op 713.40 ms/op 0.94
phase0 processEpoch - mainnet_e58758 1.0141 s/op 1.0315 s/op 0.98
mainnet_e58758 - phase0 beforeProcessEpoch 585.23 ms/op 488.47 ms/op 1.20
mainnet_e58758 - phase0 processJustificationAndFinalization 121.78 us/op 68.338 us/op 1.78
mainnet_e58758 - phase0 processRewardsAndPenalties 136.19 ms/op 146.44 ms/op 0.93
mainnet_e58758 - phase0 processRegistryUpdates 88.369 us/op 1.2360 ms/op 0.07
mainnet_e58758 - phase0 processSlashings 8.2260 us/op 3.8400 us/op 2.14
mainnet_e58758 - phase0 processEth1DataReset 5.7300 us/op 3.0990 us/op 1.85
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 9.3639 ms/op 12.044 ms/op 0.78
mainnet_e58758 - phase0 processSlashingsReset 32.941 us/op 15.474 us/op 2.13
mainnet_e58758 - phase0 processRandaoMixesReset 44.151 us/op 20.707 us/op 2.13
mainnet_e58758 - phase0 processHistoricalRootsUpdate 8.0560 us/op 3.5860 us/op 2.25
mainnet_e58758 - phase0 processParticipationRecordUpdates 30.467 us/op 15.521 us/op 1.96
mainnet_e58758 - phase0 afterProcessEpoch 183.77 ms/op 213.47 ms/op 0.86
phase0 processEffectiveBalanceUpdates - 250000 normalcase 10.781 ms/op 13.474 ms/op 0.80
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.5045 s/op 1.4786 s/op 1.02
phase0 processRegistryUpdates - 250000 normalcase 92.469 us/op 45.758 us/op 2.02
phase0 processRegistryUpdates - 250000 badcase_full_deposits 3.9586 ms/op 3.2936 ms/op 1.20
phase0 processRegistryUpdates - 250000 worstcase 0.5 2.4526 s/op 1.8357 s/op 1.34
phase0 getAttestationDeltas - 250000 normalcase 33.257 ms/op 43.129 ms/op 0.77
phase0 getAttestationDeltas - 250000 worstcase 34.409 ms/op 43.590 ms/op 0.79
phase0 processSlashings - 250000 worstcase 39.737 ms/op 45.919 ms/op 0.87
shuffle list - 16384 els 12.833 ms/op 15.343 ms/op 0.84
shuffle list - 250000 els 176.28 ms/op 219.82 ms/op 0.80
getEffectiveBalances - 250000 vs - 7PWei 10.687 ms/op 15.069 ms/op 0.71
pass gossip attestations to forkchoice per slot 22.141 ms/op 18.585 ms/op 1.19
computeDeltas 3.0079 ms/op 4.1800 ms/op 0.72
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 2.5438 ms/op 2.4981 ms/op 1.02
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 692.68 us/op 798.15 us/op 0.87
BLS verify - blst-native 1.9817 ms/op 2.2320 ms/op 0.89
BLS verifyMultipleSignatures 3 - blst-native 4.0070 ms/op 4.5943 ms/op 0.87
BLS verifyMultipleSignatures 8 - blst-native 9.0996 ms/op 9.8940 ms/op 0.92
BLS verifyMultipleSignatures 32 - blst-native 31.292 ms/op 35.890 ms/op 0.87
BLS aggregatePubkeys 32 - blst-native 42.695 us/op 47.151 us/op 0.91
BLS aggregatePubkeys 128 - blst-native 174.63 us/op 184.51 us/op 0.95
getAttestationsForBlock 88.267 ms/op 91.743 ms/op 0.96
CheckpointStateCache - add get delete 21.215 us/op 23.083 us/op 0.92
validate gossip signedAggregateAndProof - struct 4.7758 ms/op 5.4106 ms/op 0.88
validate gossip signedAggregateAndProof - treeBacked 4.7727 ms/op 5.2873 ms/op 0.90
validate gossip attestation - struct 2.3355 ms/op 2.5275 ms/op 0.92
validate gossip attestation - treeBacked 2.4979 ms/op 2.5128 ms/op 0.99
bytes32 toHexString 1.9020 us/op 2.2800 us/op 0.83
bytes32 Buffer.toString(hex) 718.00 ns/op 832.00 ns/op 0.86
bytes32 Buffer.toString(hex) from Uint8Array 964.00 ns/op 1.1450 us/op 0.84
bytes32 Buffer.toString(hex) + 0x 719.00 ns/op 823.00 ns/op 0.87
Object access 1 prop 0.34400 ns/op 0.40300 ns/op 0.85
Map access 1 prop 0.28900 ns/op 0.33600 ns/op 0.86
Object get x1000 15.075 ns/op 21.201 ns/op 0.71
Map get x1000 0.89300 ns/op 1.3040 ns/op 0.68
Object set x1000 105.25 ns/op 137.29 ns/op 0.77
Map set x1000 66.953 ns/op 82.350 ns/op 0.81
Return object 10000 times 0.37240 ns/op 0.44720 ns/op 0.83
Throw Error 10000 times 6.1006 us/op 6.9309 us/op 0.88
enrSubnets - fastDeserialize 64 bits 1.4180 us/op 1.5510 us/op 0.91
enrSubnets - ssz BitVector 64 bits 15.993 us/op 20.140 us/op 0.79
enrSubnets - fastDeserialize 4 bits 508.00 ns/op 565.00 ns/op 0.90
enrSubnets - ssz BitVector 4 bits 2.8900 us/op 3.4560 us/op 0.84
RateTracker 1000000 limit, 1 obj count per request 182.27 ns/op 253.10 ns/op 0.72
RateTracker 1000000 limit, 2 obj count per request 142.80 ns/op 190.69 ns/op 0.75
RateTracker 1000000 limit, 4 obj count per request 114.26 ns/op 158.86 ns/op 0.72
RateTracker 1000000 limit, 8 obj count per request 101.25 ns/op 144.88 ns/op 0.70
RateTracker with prune 4.4210 us/op 5.2440 us/op 0.84

by benchmarkbot/action

RELEASE.md Outdated Show resolved Hide resolved
RELEASE.md Outdated Show resolved Hide resolved

## Stable Release
When pre-release candidates have met the testing requirements, we execute `release.yml`.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should include a section on minor/patch releases, eg: v0.33.1

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this. Going off of what semver 2.0.0 describes as minor/patch releases.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was thinking more about when we decide to release them. I think its also related to the maintenance window for a release.

In the past, we've cut a patch release when our previous release had a glaring bug in it.
And we never went back to prior releases and patched them. The current release was the only maintained release that got patches.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree with @wemeetagain above point

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For patch releases to fix a published stable version, I think it's important to get those fixes out there ASAP and to patch previous versions as well. These would generally be for high and critical types of bugs you're referring to? Do we want to add any specific parameters to include with it?

RELEASE.md Outdated Show resolved Hide resolved
RELEASE.md Outdated Show resolved Hide resolved
dapplion
dapplion previously approved these changes Jan 11, 2022
g11tech
g11tech previously approved these changes Jan 11, 2022
RELEASE.md Outdated Show resolved Hide resolved
RELEASE.md Outdated Show resolved Hide resolved
@philknows philknows dismissed stale reviews from g11tech and dapplion via 8296990 January 17, 2022 19:01
@dapplion dapplion merged commit 58efb95 into master Jan 25, 2022
@dapplion dapplion deleted the philknows-releasemd branch January 25, 2022 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope-documentation All issues related to the Lodestar documentation.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Road to Stability
5 participants