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

test: update beacon api spec version to 2.4.1 #5695

Closed
wants to merge 4 commits into from

Conversation

@github-actions
Copy link
Contributor

github-actions bot commented Jun 24, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 594c70b Previous: 50daa01 Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 544.19 us/op 589.73 us/op 0.92
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 46.542 us/op 48.519 us/op 0.96
BLS verify - blst-native 1.2300 ms/op 1.2556 ms/op 0.98
BLS verifyMultipleSignatures 3 - blst-native 2.5130 ms/op 2.5537 ms/op 0.98
BLS verifyMultipleSignatures 8 - blst-native 5.4276 ms/op 5.4710 ms/op 0.99
BLS verifyMultipleSignatures 32 - blst-native 19.589 ms/op 19.790 ms/op 0.99
BLS aggregatePubkeys 32 - blst-native 26.428 us/op 26.302 us/op 1.00
BLS aggregatePubkeys 128 - blst-native 101.39 us/op 103.18 us/op 0.98
getAttestationsForBlock 55.219 ms/op 62.719 ms/op 0.88
isKnown best case - 1 super set check 258.00 ns/op 275.00 ns/op 0.94
isKnown normal case - 2 super set checks 258.00 ns/op 274.00 ns/op 0.94
isKnown worse case - 16 super set checks 259.00 ns/op 266.00 ns/op 0.97
CheckpointStateCache - add get delete 5.6800 us/op 6.0970 us/op 0.93
validate gossip signedAggregateAndProof - struct 2.7898 ms/op 2.9150 ms/op 0.96
validate gossip attestation - struct 1.3128 ms/op 1.3727 ms/op 0.96
pickEth1Vote - no votes 1.2482 ms/op 1.4074 ms/op 0.89
pickEth1Vote - max votes 9.8394 ms/op 10.411 ms/op 0.95
pickEth1Vote - Eth1Data hashTreeRoot value x2048 8.8787 ms/op 9.6298 ms/op 0.92
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 15.290 ms/op 19.029 ms/op 0.80
pickEth1Vote - Eth1Data fastSerialize value x2048 637.01 us/op 842.96 us/op 0.76
pickEth1Vote - Eth1Data fastSerialize tree x2048 6.1838 ms/op 6.3115 ms/op 0.98
bytes32 toHexString 500.00 ns/op 542.00 ns/op 0.92
bytes32 Buffer.toString(hex) 355.00 ns/op 418.00 ns/op 0.85
bytes32 Buffer.toString(hex) from Uint8Array 538.00 ns/op 630.00 ns/op 0.85
bytes32 Buffer.toString(hex) + 0x 336.00 ns/op 425.00 ns/op 0.79
Object access 1 prop 0.17000 ns/op 0.18800 ns/op 0.90
Map access 1 prop 0.16200 ns/op 0.16300 ns/op 0.99
Object get x1000 6.5390 ns/op 6.6120 ns/op 0.99
Map get x1000 0.60800 ns/op 0.67800 ns/op 0.90
Object set x1000 52.265 ns/op 61.688 ns/op 0.85
Map set x1000 42.378 ns/op 50.814 ns/op 0.83
Return object 10000 times 0.23580 ns/op 0.24760 ns/op 0.95
Throw Error 10000 times 4.3182 us/op 4.3598 us/op 0.99
fastMsgIdFn sha256 / 200 bytes 3.4410 us/op 3.7180 us/op 0.93
fastMsgIdFn h32 xxhash / 200 bytes 277.00 ns/op 316.00 ns/op 0.88
fastMsgIdFn h64 xxhash / 200 bytes 381.00 ns/op 483.00 ns/op 0.79
fastMsgIdFn sha256 / 1000 bytes 11.464 us/op 12.247 us/op 0.94
fastMsgIdFn h32 xxhash / 1000 bytes 402.00 ns/op 462.00 ns/op 0.87
fastMsgIdFn h64 xxhash / 1000 bytes 456.00 ns/op 575.00 ns/op 0.79
fastMsgIdFn sha256 / 10000 bytes 103.55 us/op 107.37 us/op 0.96
fastMsgIdFn h32 xxhash / 10000 bytes 1.9220 us/op 2.0630 us/op 0.93
fastMsgIdFn h64 xxhash / 10000 bytes 1.3720 us/op 1.5140 us/op 0.91
enrSubnets - fastDeserialize 64 bits 1.2710 us/op 1.7350 us/op 0.73
enrSubnets - ssz BitVector 64 bits 467.00 ns/op 617.00 ns/op 0.76
enrSubnets - fastDeserialize 4 bits 167.00 ns/op 210.00 ns/op 0.80
enrSubnets - ssz BitVector 4 bits 474.00 ns/op 614.00 ns/op 0.77
prioritizePeers score -10:0 att 32-0.1 sync 2-0 100.86 us/op 119.31 us/op 0.85
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 134.40 us/op 161.03 us/op 0.83
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 167.90 us/op 223.55 us/op 0.75
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 301.18 us/op 410.92 us/op 0.73
prioritizePeers score 0:0 att 64-1 sync 4-1 360.83 us/op 492.82 us/op 0.73
array of 16000 items push then shift 1.6209 us/op 1.8610 us/op 0.87
LinkedList of 16000 items push then shift 8.7750 ns/op 11.361 ns/op 0.77
array of 16000 items push then pop 76.410 ns/op 139.49 ns/op 0.55
LinkedList of 16000 items push then pop 8.4950 ns/op 9.8890 ns/op 0.86
array of 24000 items push then shift 2.3491 us/op 2.5815 us/op 0.91
LinkedList of 24000 items push then shift 8.9640 ns/op 10.305 ns/op 0.87
array of 24000 items push then pop 76.505 ns/op 98.245 ns/op 0.78
LinkedList of 24000 items push then pop 8.6340 ns/op 9.9900 ns/op 0.86
intersect bitArray bitLen 8 13.199 ns/op 14.298 ns/op 0.92
intersect array and set length 8 77.345 ns/op 90.980 ns/op 0.85
intersect bitArray bitLen 128 43.785 ns/op 45.586 ns/op 0.96
intersect array and set length 128 1.0431 us/op 1.3221 us/op 0.79
Buffer.concat 32 items 2.6270 us/op 3.0840 us/op 0.85
Uint8Array.set 32 items 2.7610 us/op 2.3100 us/op 1.20
transfer serialized Status (84 B) 2.0870 us/op 2.0880 us/op 1.00
copy serialized Status (84 B) 1.6710 us/op 1.7250 us/op 0.97
transfer serialized SignedVoluntaryExit (112 B) 2.1050 us/op 2.1220 us/op 0.99
copy serialized SignedVoluntaryExit (112 B) 1.6690 us/op 1.7420 us/op 0.96
transfer serialized ProposerSlashing (416 B) 2.3960 us/op 2.3590 us/op 1.02
copy serialized ProposerSlashing (416 B) 3.1640 us/op 2.3150 us/op 1.37
transfer serialized Attestation (485 B) 2.8070 us/op 2.4670 us/op 1.14
copy serialized Attestation (485 B) 3.1490 us/op 2.1320 us/op 1.48
transfer serialized AttesterSlashing (33232 B) 2.9130 us/op 2.4530 us/op 1.19
copy serialized AttesterSlashing (33232 B) 5.9360 us/op 6.6100 us/op 0.90
transfer serialized Small SignedBeaconBlock (128000 B) 3.1110 us/op 2.7130 us/op 1.15
copy serialized Small SignedBeaconBlock (128000 B) 16.810 us/op 17.649 us/op 0.95
transfer serialized Avg SignedBeaconBlock (200000 B) 3.3370 us/op 4.0590 us/op 0.82
copy serialized Avg SignedBeaconBlock (200000 B) 20.027 us/op 23.602 us/op 0.85
transfer serialized BlobsSidecar (524380 B) 3.2430 us/op 3.9500 us/op 0.82
copy serialized BlobsSidecar (524380 B) 151.98 us/op 198.59 us/op 0.77
transfer serialized Big SignedBeaconBlock (1000000 B) 3.1610 us/op 4.0500 us/op 0.78
copy serialized Big SignedBeaconBlock (1000000 B) 271.48 us/op 244.16 us/op 1.11
pass gossip attestations to forkchoice per slot 2.6656 ms/op 2.6409 ms/op 1.01
forkChoice updateHead vc 100000 bc 64 eq 0 2.0387 ms/op 2.1015 ms/op 0.97
forkChoice updateHead vc 600000 bc 64 eq 0 10.945 ms/op 13.789 ms/op 0.79
forkChoice updateHead vc 1000000 bc 64 eq 0 18.145 ms/op 20.840 ms/op 0.87
forkChoice updateHead vc 600000 bc 320 eq 0 16.501 ms/op 16.829 ms/op 0.98
forkChoice updateHead vc 600000 bc 1200 eq 0 76.797 ms/op 84.318 ms/op 0.91
forkChoice updateHead vc 600000 bc 64 eq 1000 19.771 ms/op 21.554 ms/op 0.92
forkChoice updateHead vc 600000 bc 64 eq 10000 21.448 ms/op 23.186 ms/op 0.93
forkChoice updateHead vc 600000 bc 64 eq 300000 30.905 ms/op 34.184 ms/op 0.90
computeDeltas 3.9629 ms/op 3.7002 ms/op 1.07
computeProposerBoostScoreFromBalances 1.7619 ms/op 1.8282 ms/op 0.96
altair processAttestation - 250000 vs - 7PWei normalcase 2.1477 ms/op 2.4530 ms/op 0.88
altair processAttestation - 250000 vs - 7PWei worstcase 3.2587 ms/op 3.8956 ms/op 0.84
altair processAttestation - setStatus - 1/6 committees join 137.38 us/op 149.85 us/op 0.92
altair processAttestation - setStatus - 1/3 committees join 271.81 us/op 281.44 us/op 0.97
altair processAttestation - setStatus - 1/2 committees join 362.78 us/op 371.27 us/op 0.98
altair processAttestation - setStatus - 2/3 committees join 457.09 us/op 471.94 us/op 0.97
altair processAttestation - setStatus - 4/5 committees join 635.26 us/op 669.83 us/op 0.95
altair processAttestation - setStatus - 100% committees join 748.76 us/op 756.47 us/op 0.99
altair processBlock - 250000 vs - 7PWei normalcase 16.777 ms/op 18.480 ms/op 0.91
altair processBlock - 250000 vs - 7PWei normalcase hashState 28.017 ms/op 27.935 ms/op 1.00
altair processBlock - 250000 vs - 7PWei worstcase 45.741 ms/op 53.136 ms/op 0.86
altair processBlock - 250000 vs - 7PWei worstcase hashState 67.918 ms/op 82.010 ms/op 0.83
phase0 processBlock - 250000 vs - 7PWei normalcase 2.2590 ms/op 2.2720 ms/op 0.99
phase0 processBlock - 250000 vs - 7PWei worstcase 29.747 ms/op 31.718 ms/op 0.94
altair processEth1Data - 250000 vs - 7PWei normalcase 473.93 us/op 542.09 us/op 0.87
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 6.6840 us/op 12.278 us/op 0.54
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 19.839 us/op 26.347 us/op 0.75
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 8.2370 us/op 13.872 us/op 0.59
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 6.3920 us/op 8.1290 us/op 0.79
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 75.522 us/op 98.577 us/op 0.77
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 632.58 us/op 649.51 us/op 0.97
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 892.48 us/op 917.24 us/op 0.97
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 887.70 us/op 881.20 us/op 1.01
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.2353 ms/op 2.3795 ms/op 0.94
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.4981 ms/op 1.8319 ms/op 0.82
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.8322 ms/op 4.0150 ms/op 0.95
Tree 40 250000 create 300.11 ms/op 303.46 ms/op 0.99
Tree 40 250000 get(125000) 179.57 ns/op 186.07 ns/op 0.97
Tree 40 250000 set(125000) 883.43 ns/op 946.89 ns/op 0.93
Tree 40 250000 toArray() 16.872 ms/op 17.749 ms/op 0.95
Tree 40 250000 iterate all - toArray() + loop 16.833 ms/op 18.368 ms/op 0.92
Tree 40 250000 iterate all - get(i) 66.739 ms/op 70.397 ms/op 0.95
MutableVector 250000 create 10.633 ms/op 13.951 ms/op 0.76
MutableVector 250000 get(125000) 6.3800 ns/op 6.5480 ns/op 0.97
MutableVector 250000 set(125000) 256.68 ns/op 260.85 ns/op 0.98
MutableVector 250000 toArray() 2.6207 ms/op 2.7203 ms/op 0.96
MutableVector 250000 iterate all - toArray() + loop 2.7562 ms/op 2.8504 ms/op 0.97
MutableVector 250000 iterate all - get(i) 1.4632 ms/op 1.5218 ms/op 0.96
Array 250000 create 2.5367 ms/op 2.8594 ms/op 0.89
Array 250000 clone - spread 1.2099 ms/op 1.2756 ms/op 0.95
Array 250000 get(125000) 0.59000 ns/op 0.63200 ns/op 0.93
Array 250000 set(125000) 0.66300 ns/op 0.71100 ns/op 0.93
Array 250000 iterate all - loop 107.10 us/op 84.557 us/op 1.27
effectiveBalanceIncrements clone Uint8Array 300000 27.681 us/op 36.299 us/op 0.76
effectiveBalanceIncrements clone MutableVector 300000 392.00 ns/op 409.00 ns/op 0.96
effectiveBalanceIncrements rw all Uint8Array 300000 164.28 us/op 172.33 us/op 0.95
effectiveBalanceIncrements rw all MutableVector 300000 81.905 ms/op 89.414 ms/op 0.92
phase0 afterProcessEpoch - 250000 vs - 7PWei 111.26 ms/op 119.46 ms/op 0.93
phase0 beforeProcessEpoch - 250000 vs - 7PWei 34.630 ms/op 33.830 ms/op 1.02
altair processEpoch - mainnet_e81889 325.11 ms/op 343.91 ms/op 0.95
mainnet_e81889 - altair beforeProcessEpoch 61.472 ms/op 70.992 ms/op 0.87
mainnet_e81889 - altair processJustificationAndFinalization 18.280 us/op 18.313 us/op 1.00
mainnet_e81889 - altair processInactivityUpdates 5.5185 ms/op 6.7899 ms/op 0.81
mainnet_e81889 - altair processRewardsAndPenalties 50.658 ms/op 78.193 ms/op 0.65
mainnet_e81889 - altair processRegistryUpdates 2.2890 us/op 2.7390 us/op 0.84
mainnet_e81889 - altair processSlashings 442.00 ns/op 608.00 ns/op 0.73
mainnet_e81889 - altair processEth1DataReset 586.00 ns/op 635.00 ns/op 0.92
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2474 ms/op 1.4958 ms/op 0.83
mainnet_e81889 - altair processSlashingsReset 4.8080 us/op 4.1900 us/op 1.15
mainnet_e81889 - altair processRandaoMixesReset 4.2970 us/op 7.5540 us/op 0.57
mainnet_e81889 - altair processHistoricalRootsUpdate 779.00 ns/op 1.0050 us/op 0.78
mainnet_e81889 - altair processParticipationFlagUpdates 2.6630 us/op 3.2490 us/op 0.82
mainnet_e81889 - altair processSyncCommitteeUpdates 479.00 ns/op 514.00 ns/op 0.93
mainnet_e81889 - altair afterProcessEpoch 115.67 ms/op 126.90 ms/op 0.91
phase0 processEpoch - mainnet_e58758 311.26 ms/op 396.69 ms/op 0.78
mainnet_e58758 - phase0 beforeProcessEpoch 121.27 ms/op 151.14 ms/op 0.80
mainnet_e58758 - phase0 processJustificationAndFinalization 15.931 us/op 16.673 us/op 0.96
mainnet_e58758 - phase0 processRewardsAndPenalties 51.212 ms/op 62.091 ms/op 0.82
mainnet_e58758 - phase0 processRegistryUpdates 7.3000 us/op 9.0490 us/op 0.81
mainnet_e58758 - phase0 processSlashings 470.00 ns/op 495.00 ns/op 0.95
mainnet_e58758 - phase0 processEth1DataReset 549.00 ns/op 468.00 ns/op 1.17
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 988.00 us/op 1.2114 ms/op 0.82
mainnet_e58758 - phase0 processSlashingsReset 2.5950 us/op 4.3900 us/op 0.59
mainnet_e58758 - phase0 processRandaoMixesReset 4.1580 us/op 4.3830 us/op 0.95
mainnet_e58758 - phase0 processHistoricalRootsUpdate 712.00 ns/op 812.00 ns/op 0.88
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.7680 us/op 3.9440 us/op 0.96
mainnet_e58758 - phase0 afterProcessEpoch 96.360 ms/op 99.470 ms/op 0.97
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.1686 ms/op 1.2596 ms/op 0.93
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4546 ms/op 2.1926 ms/op 0.66
altair processInactivityUpdates - 250000 normalcase 20.396 ms/op 29.305 ms/op 0.70
altair processInactivityUpdates - 250000 worstcase 22.705 ms/op 27.119 ms/op 0.84
phase0 processRegistryUpdates - 250000 normalcase 6.0080 us/op 6.9910 us/op 0.86
phase0 processRegistryUpdates - 250000 badcase_full_deposits 238.94 us/op 463.39 us/op 0.52
phase0 processRegistryUpdates - 250000 worstcase 0.5 115.82 ms/op 136.16 ms/op 0.85
altair processRewardsAndPenalties - 250000 normalcase 51.206 ms/op 72.337 ms/op 0.71
altair processRewardsAndPenalties - 250000 worstcase 55.770 ms/op 76.844 ms/op 0.73
phase0 getAttestationDeltas - 250000 normalcase 6.6007 ms/op 7.0474 ms/op 0.94
phase0 getAttestationDeltas - 250000 worstcase 6.5720 ms/op 6.8474 ms/op 0.96
phase0 processSlashings - 250000 worstcase 3.4762 ms/op 3.7063 ms/op 0.94
altair processSyncCommitteeUpdates - 250000 177.64 ms/op 191.13 ms/op 0.93
BeaconState.hashTreeRoot - No change 261.00 ns/op 276.00 ns/op 0.95
BeaconState.hashTreeRoot - 1 full validator 50.408 us/op 55.929 us/op 0.90
BeaconState.hashTreeRoot - 32 full validator 486.95 us/op 586.49 us/op 0.83
BeaconState.hashTreeRoot - 512 full validator 4.9498 ms/op 5.7034 ms/op 0.87
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 64.632 us/op 67.105 us/op 0.96
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 862.54 us/op 1.0139 ms/op 0.85
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 11.055 ms/op 12.312 ms/op 0.90
BeaconState.hashTreeRoot - 1 balances 47.622 us/op 51.242 us/op 0.93
BeaconState.hashTreeRoot - 32 balances 433.12 us/op 491.26 us/op 0.88
BeaconState.hashTreeRoot - 512 balances 4.2855 ms/op 4.8837 ms/op 0.88
BeaconState.hashTreeRoot - 250000 balances 72.323 ms/op 82.422 ms/op 0.88
aggregationBits - 2048 els - zipIndexesInBitList 16.544 us/op 16.994 us/op 0.97
regular array get 100000 times 32.042 us/op 43.194 us/op 0.74
wrappedArray get 100000 times 32.000 us/op 33.817 us/op 0.95
arrayWithProxy get 100000 times 14.992 ms/op 17.029 ms/op 0.88
ssz.Root.equals 551.00 ns/op 568.00 ns/op 0.97
byteArrayEquals 530.00 ns/op 571.00 ns/op 0.93
shuffle list - 16384 els 6.7904 ms/op 7.1627 ms/op 0.95
shuffle list - 250000 els 100.51 ms/op 106.41 ms/op 0.94
processSlot - 1 slots 8.5990 us/op 9.4050 us/op 0.91
processSlot - 32 slots 1.3350 ms/op 1.4931 ms/op 0.89
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 34.861 ms/op 38.459 ms/op 0.91
getCommitteeAssignments - req 1 vs - 250000 vc 2.8832 ms/op 2.9384 ms/op 0.98
getCommitteeAssignments - req 100 vs - 250000 vc 4.0840 ms/op 4.1221 ms/op 0.99
getCommitteeAssignments - req 1000 vs - 250000 vc 4.4470 ms/op 4.4899 ms/op 0.99
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.4600 ns/op 4.5000 ns/op 0.99
state getBlockRootAtSlot - 250000 vs - 7PWei 989.63 ns/op 1.0186 us/op 0.97
computeProposers - vc 250000 10.509 ms/op 10.432 ms/op 1.01
computeEpochShuffling - vc 250000 102.04 ms/op 102.85 ms/op 0.99
getNextSyncCommittee - vc 250000 181.14 ms/op 180.83 ms/op 1.00
computeSigningRoot for AttestationData 13.945 us/op 13.791 us/op 1.01
hash AttestationData serialized data then Buffer.toString(base64) 2.3802 us/op 2.4861 us/op 0.96
toHexString serialized data 1.0553 us/op 1.0765 us/op 0.98
Buffer.toString(base64) 316.98 ns/op 314.56 ns/op 1.01

by benchmarkbot/action

@nflaig nflaig force-pushed the nflaig/update-beacon-spec-version branch from ff9b022 to 944f486 Compare June 24, 2023 12:34
@dapplion
Copy link
Contributor

Having a jumbo PR bundling all 2.4.1 items is too much, implement an explicit ignore list and go one be one

@nflaig
Copy link
Member Author

nflaig commented Jun 26, 2023

Having a jumbo PR bundling all 2.4.1 items is too much

This PR should just be used to keep track of missing items and test against latest spec version, in the end can close it or just merge the spec version update.

implement an explicit ignore list

Was thinking about that as well, but there is still the issue that some APIs need new parameters for spec tests to pass.

@dapplion
Copy link
Contributor

This PR should just be used to keep track of missing items

To track progress it's best to use issues. This PR seems it will be open for a long time so just best to reference the branch on the issue if it has value.

@nflaig
Copy link
Member Author

nflaig commented Jun 26, 2023

To track progress it's best to use issues

Generally agree, but we can check spec compliance programmatically in this case which is not possible if an issue is used. Would have just rebased this branch against unstable after there has been progress on the APIs to get updated results as it will not be possible to update spec tests to 2.4.1 on unstable for a while.

If this branch gets stale or unused after a while if there is no progress we should close it.

Feel free to close is now already if you feel strongly about using an issue instead, will create the according issue then to keep track.

@dapplion
Copy link
Contributor

Feel free to close is now already if you feel strongly about using an issue instead, will create the according issue then to keep track.

Yes please open the issue, I'm just trying to keep our list of open PRs under control 🙏

To programatically test that a branch passes tests you can trigger a manual workflow

workflow_dispatch:

@dapplion dapplion closed this Jun 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants