Repository navigation
Expand file tree
/
Copy path.test_patterns.yml
More file actions
270 lines (233 loc) · 10 KB
/
Copy path.test_patterns.yml
File metadata and controls
270 lines (233 loc) · 10 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
# Describes tests that we either:
# - Outright skip.
# - Run and alert owners on failure.
# To outright skip a test add a "skip: true" property.
# Only do this for tests that are currently expected to fail constantly and the noise is unbearable!
# Otherwise, tests must have owner(s). Owners are identified by their Slack id, (profile, three dots, copy member id).
# If there is no owner for failed test the build will fail, regardless of if it matches in this file.
# When a failing test matches one or more of the "regex" properties below,
# a message is sent to slack channel #aztec3-ci tagging the owners.
# If an optional error_regex is provided, the output file must match for the test to be considered a flake.
names:
- adam: &adam "U04BM8H25NJ"
- akosh: &akosh "U07PQ3Y4GHJ"
- alex: &alex "U05QWV669JB"
- charlie: &charlie "UKUMA5J7K"
- david: &david "U03T2QRT1NW"
- grego: &grego "U0689QRCE9L"
- lasse: &lasse "U03E5SYLY3Z"
- leila: &leila "UBLTU1NJ3"
- luke: &luke "U03JYU7AQET"
- mitch: &mitch "U06AY5G1NRK"
- palla: &palla "U04TPBU26E8"
- phil: &phil "U02G4KAD57Y"
- sean: &sean "U04DT239VQU"
- tom: &tom "U04LLT331NK"
- sergei: &sergei "U05RR81391B"
- spyros: &spyros "U03FCET0DQE"
- jan: &jan "U03FGA0BWNR"
- esau: &esau "U067FJ9A4Q1"
- saleel: &saleel "U07KJ0AV20J"
- martin: &martin "U09MZMSNZ96"
- nico: &nico "U06D2QSLY10"
- lucas: &lucas "U05MW7WQ8LQ"
- suyash: &suyash "U08QFSL6LPM"
flake_groups:
# flake_error_threshold: Only use during times of expected instability (eg. pre-release crunch).
# Threshold of 5 = tolerate at most 4 flakes before failing the build.
# DO NOT expand use of this feature without buy-in from the team. It's a last resort, not a standard practice.
- id: e2e-p2p-epoch-flakes
name: "E2E P2P and Epoch Tests"
flake_error_threshold: 5
tests:
- regex: "aztec-nr noir_aztec test::helpers::test_environment::test::events::"
error_regex: "Failed to solve brillig function"
owners:
- *nico
# Nightly GKE tests
- regex: "spartan/bootstrap.sh"
owners:
- *alex
# aztec-up
- regex: "aztec-up/scripts/run_test.sh"
error_regex: "Is the docker daemon running"
owners:
- *charlie
- regex: "aztec-up/scripts/run_test.sh amm_flow"
error_regex: "code: 124"
owners:
- *esau
- regex: "aztec-up/scripts/run_test.sh amm_flow"
error_regex: "Sumcheck failed"
owners:
- *luke
- regex: "aztec-up/scripts/run_test.sh bridge_and_claim"
error_regex: "Cannot satisfy constraint"
owners:
- *adam
- regex: "tests/browser.spec.ts"
error_regex: "Error: locator\\.click: Test timeout of"
owners:
- *saleel
- regex: "amm_flow.sh"
owners:
- *grego
# Slack testing.
- regex: "nonsense to match"
error_regex: "something else"
owners:
- *charlie
- *adam
- regex: "src/single-node/l1-reorgs/blocks.parallel.test.ts"
owners:
- *phil
- regex: "src/single-node/l1-reorgs/messages.parallel.test.ts"
owners:
- *phil
- regex: "src/multi-node/recovery/pipeline_prune.test.ts.*prunes uncheckpointed"
owners:
- *sean
# Asserts a late tx burst is redistributed across the checkpoint's last two blocks, but the proposer
# seals the one-before-last block as soon as one tx is available and snapshots the mempool, so late
# txs still propagating over gossip spill into the next checkpoint. Flaky until the sequencer waits
# for the last block's tx window.
- regex: "src/multi-node/block-production/redistribution.parallel.test.ts.*redistributes checkpoint budget"
owners:
- *phil
# Blanket flake patterns for unstable p2p, epoch, and l1 tx utils tests
# This is a temporary measure while team bandwidth is constrained
# Replaced many specific patterns - see https://github.com/AztecProtocol/aztec-packages/pull/17962 for historical context
- regex: "src/p2p/.*\\.test\\.ts"
flake_group_id: e2e-p2p-epoch-flakes
owners:
- *phil
- regex: "src/single-node/.*\\.test\\.ts"
flake_group_id: e2e-p2p-epoch-flakes
owners:
- *palla
- regex: "src/multi-node/.*\\.test\\.ts"
flake_group_id: e2e-p2p-epoch-flakes
owners:
- *palla
- regex: "src/automine/.*\\.test\\.ts"
flake_group_id: e2e-p2p-epoch-flakes
owners:
- *palla
- regex: "p2p/src/client/test/.*\\.test\\.ts"
flake_group_id: e2e-p2p-epoch-flakes
owners:
- *palla
- *phil
- regex: "ethereum/src/l1_tx_utils/.*\\.test\\.ts"
flake_group_id: e2e-p2p-epoch-flakes
owners:
- *palla
# tx_stats_bench's 10 TPS sub-test occasionally returns valid:false from a single IVC
# verification under heavy concurrency (8 parallel verifiers, each spawning a fresh bb subprocess
# via the bb.js NativeUnixSocket backend introduced in #21564). The serial sub-tests pass.
- regex: "tx_stats_bench"
error_regex: "tx_stats_bench\\.test\\.ts:[0-9]+:[0-9]+"
owners:
- *charlie
- regex: "src/e2e_token_bridge_tutorial.test.ts"
error_regex: "Error: Unable to find low leaf for block"
owners:
- *leila
# http://ci.aztec-labs.com/61d96be1402847b1
# The L1↔L2 bridging flow sends its L1 txs against an automining anvil that the
# local-network sequencer and cheat codes also drive; under load a tx can sit
# unmined past viem's confirmation timeout, surfacing as either the jest per-test
# timeout or a viem WaitForTransactionReceiptTimeoutError (http://ci.aztec-labs.com/1643e817d7242e0e).
- regex: "src/composed/e2e_token_bridge_tutorial_test.test.ts"
error_regex: "Exceeded timeout of [0-9]+ ms for a test|WaitForTransactionReceiptTimeoutError: Timed out while waiting for transaction"
owners:
- *palla
- regex: "src/single-node/block-building/block_building.test.ts"
error_regex: "✕ processes txs until hitting timetable"
owners:
- *palla
# http://ci.aztec-labs.com/e8228a36afda93b8
# Test passed but there was an error on stopping
- regex: "playground/scripts/run_test.sh"
error_regex: "playground-1\\s+\\|\\s+1 passed \\("
owners:
- *adam
# http://ci.aztec-labs.com/21afdb4a42f3474d
# Test passed but there was an error on stopping
- regex: "yarn-project/end-to-end/scripts/run_test.sh compose"
error_regex: "tried to kill container, but did not receive an exit event"
owners:
- *adam
# http://ci.aztec-labs.com/93754bdf832ef9bd
# P2P receipt race in the compose CLI-wallet flow: the account deployment tx
# can be reported as dropped after the 5s grace window before inclusion is
# visible to the queried node.
- regex: "yarn-project/end-to-end/scripts/run_test.sh compose ../cli-wallet/test/flows/public_authwit_transfer.sh"
error_regex: "Transaction .* was dropped\\. Reason: Tx dropped by P2P node"
owners:
- *palla
- regex: "yarn-project/end-to-end/scripts/run_test.sh simple src/single-node/fees/gas_estimation.parallel.test.ts"
error_regex: "timeout: sending signal TERM to command 'bash'"
owners:
- *alex
- regex: "yarn-project/end-to-end/scripts/run_test.sh compose src/composed/docs_examples.test.ts"
error_regex: "maxFeesPerGas.feePerL2Gas must be greater than or equal to gasFees.feePerL2Gas,"
owners:
- *esau
# http://ci.aztec-labs.com/6db6103599cb22e6
# Under pipelining, the lazy validator's attestation can arrive after the
# p2p checkpoint-attestation-validator's acceptance window, getting rejected
# before the slasher's gossip callback fires. The slasher then never records
# ATTESTED_TO_INVALID_CHECKPOINT_PROPOSAL and the test times out.
- regex: "src/multi-node/slashing/attested_invalid_proposal.parallel.test.ts"
error_regex: "Timeout awaiting honest validator slash offenses for invalid proposal attestation"
owners:
- *palla
- regex: "yarn-project/end-to-end/scripts/run_test.sh ha src/composed/ha/e2e_ha_full.parallel.test.ts"
owners:
- *spyros
- regex: "yarn-project/end-to-end/scripts/run_test.sh ha src/composed/ha/e2e_ha_distribute_work.test.ts"
owners:
- *spyros
# http://ci.aztec-labs.com/98d59d04f85223f8
# Build-cache flake: module not found during Jest startup
- regex: "src/single-node/sequencer/gov_proposal.parallel.test.ts"
error_regex: "Cannot find module '@aztec-labs/sequencer-client/config'"
owners:
- *palla
# http://ci.aztec-labs.com/e5938ff415312e06
# ChainMonitor teardown race: its poll loop calls the L1 Inbox getState() after
# Jest has torn down the module env (ERR_VM_MODULE_NOT_MODULE). Test itself passes.
- regex: "src/e2e_sequencer/gov_proposal.parallel.test.ts"
error_regex: "a file after the Jest environment has been torn down"
owners:
- *palla
# http://ci.aztec-labs.com/153f5dcbb0f3799c
- regex: "src/automine/effects/offchain_payment.parallel.test.ts"
error_regex: "✕ reprocesses an offchain-delivered payment after an L1 reorg"
owners:
- *martin
- regex: "yarn-project/scripts/run_test.sh bb-prover/src/avm_proving_tests/avm_"
error_regex: "timeout: sending signal"
owners:
- *charlie
- regex: "run_test.sh simple tx_stats_bench"
error_regex: "✕ verifies transactions at 10 TPS"
owners:
- *phil
# http://ci.aztec-labs.com/930ddc9ede87059f
# Pipelining race: slasher doesn't record the duplicate proposal offense before
# the test's wait timeout — same family as #23501.
- regex: "src/multi-node/slashing/equivocation_offenses.test.ts.*duplicate proposals"
error_regex: "TimeoutError: Timeout awaiting duplicate proposal offense"
owners:
- *palla
# http://ci.aztec-labs.com/620b664d9d37ad65
# Wall-clock-deadline flake under CI CPU contention: the public processor can be
# descheduled past its block-build deadline before processing a single tx, so
# re-execution applies 0 txs and the validator rejects a block the test expects
# accepted. Scoped to that end-state-mismatch signature; not a logic regression.
- regex: "validator-client/src/validator.integration.test.ts"
error_regex: "✕ rejects block that would exceed checkpoint mana limit"
owners:
- *palla