Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
c1c3b0b
refactor(e2e): consolidate the multi-node and single-node test catego…
spalladino Jun 26, 2026
6b9aa1a
fix(e2e): keep timing_env testEnvironment through yarn prepare (#24328)
PhilWindle Jun 26, 2026
445989f
test(e2e): speed up setup by automining L1 contract deployment (#24313)
spalladino Jun 26, 2026
8d2af96
test(e2e): increase slashing proposer search attempts (#24339)
spalladino Jun 26, 2026
61a53ba
test(sequencer-client): fix checkpoint proposal job timetable setup (…
AztecBot Jun 27, 2026
f95692b
test(e2e): consolidate more tests into multi-node and single-node cat…
spalladino Jun 29, 2026
2224b06
test(e2e): 10x faster deploy L1 contracts via on-demand mining under …
spalladino Jun 29, 2026
c941cf3
fix: exclude tmp from yarn-project clean-lite (#24342)
spalladino Jun 29, 2026
e3f5386
fix(sequencer): gate waitForMinTxs on age-eligible pending tx count (…
spalladino Jun 29, 2026
d2713ac
chore: merge v5-next into merge-train/spartan-v5
spalladino Jun 29, 2026
5e9316b
fix: add explicit return types to resolve TS2742 errors after v5-next…
spalladino Jun 29, 2026
bf0b157
chore: merge v5-next into merge-train/spartan-v5 (#24361)
spalladino Jun 29, 2026
8e39520
test(e2e): bound fee settings L1 base fee spike (#24355)
AztecBot Jun 29, 2026
ba79715
test(sequencer-client): freeze clock with ManualDateProvider to defla…
spalladino Jun 29, 2026
868f523
Merge branch 'v5-next' into merge-train/spartan-v5
Jun 29, 2026
86658c4
test(e2e): deflake optimistic-proving by anchoring epoch and assertin…
spalladino Jun 29, 2026
51a07fb
test(e2e): drop advancePastGenesis now that genesis uses a real times…
spalladino Jun 29, 2026
9594cfc
test(e2e): start debug_trace single-node test at genesis block 0 (#24…
AztecBot Jun 29, 2026
0614034
test(e2e): anchor multi_proof on a fresh epoch instead of hardcoding …
spalladino Jun 29, 2026
4151604
test(e2e): consolidate the automine test category (#24343)
spalladino Jun 29, 2026
c6ff56e
test(e2e): deflake sync_after_reorg by waiting on the rollup's actual…
spalladino Jun 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 18 additions & 8 deletions .test_patterns.yml
Original file line number Diff line number Diff line change
Expand Up @@ -267,18 +267,23 @@ tests:
- *charlie
- *adam

- regex: "src/e2e_epochs/epochs_l1_reorgs.parallel.test.ts"
- regex: "src/single-node/l1-reorgs/blocks.parallel.test.ts"
owners:
- *phil

- regex: "epochs_mbps.pipeline.parallel.test.ts.*prunes uncheckpointed"
- 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 all late txs land in the checkpoint's last block, but the proposer seals the 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/e2e_epochs/epochs_mbps_redistribution.test.ts"
# 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

Expand All @@ -290,7 +295,12 @@ tests:
owners:
- *phil

- regex: "src/e2e_epochs/.*\\.test\\.ts"
- 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
Expand Down Expand Up @@ -408,7 +418,7 @@ tests:
# 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/e2e_p2p/duplicate_proposal_slash.test.ts"
- regex: "src/multi-node/slashing/duplicate_proposal.test.ts.*duplicate proposals"
error_regex: "TimeoutError: Timeout awaiting duplicate proposal offense"
owners:
- *palla
34 changes: 26 additions & 8 deletions yarn-project/end-to-end/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,18 +34,28 @@ function test_cmds {
fi
echo "$prefix:TIMEOUT=25m:NAME=e2e_block_building $(set_dump_avm e2e_block_building) $run_test_script simple e2e_block_building"
echo "$prefix:TIMEOUT=30m:NAME=e2e_avm_simulator $(set_dump_avm e2e_avm_simulator) $run_test_script simple src/e2e_avm_simulator.test.ts"
echo "$prefix:TIMEOUT=15m:NAME=e2e_epochs/epochs_long_proving_time $run_test_script simple src/e2e_epochs/epochs_long_proving_time.test.ts"

local tests=(
# List all standalone and nested tests, except for the ones listed above.
src/e2e_!(prover|epochs)/*.test.ts
src/e2e_epochs/!(epochs_long_proving_time).test.ts
src/e2e_!(prover)/*.test.ts
src/single-node/proving/*.test.ts
src/single-node/l1-reorgs/*.test.ts
src/single-node/recovery/*.test.ts
src/single-node/partial-proofs/*.test.ts
src/single-node/misc/*.test.ts
src/multi-node/block-production/*.test.ts
src/multi-node/recovery/*.test.ts
src/multi-node/invalid-attestations/*.test.ts
src/multi-node/high-availability/*.test.ts
src/multi-node/slashing/*.test.ts
src/e2e_p2p/reqresp/*.test.ts
src/e2e_!(block_building|avm_simulator).test.ts
)
for test in "${tests[@]}"; do
local name=${test#*e2e_}
name=e2e_${name%.test.ts}
# Derive a CI test name from the path: drop the leading "src/" and trailing ".test.ts".
# This keeps e2e_<dir>/<file> names while also handling the multi-node/ category folder.
local name=${test#src/}
name=${name%.test.ts}

# Per-test bash TIMEOUT overrides — keep in sync with the test file's jest.setTimeout.
local test_prefix="$prefix"
Expand All @@ -56,14 +66,20 @@ function test_cmds {
e2e_cross_chain_messaging/l1_to_l2)
test_prefix="$prefix:TIMEOUT=20m"
;;
single-node/proving/long_proving_time)
# The long-proving-time scenario waits out a multi-epoch prover delay.
test_prefix="$prefix:TIMEOUT=15m"
;;
esac

# Check if this is a .parallel.test.ts file
if [[ "$test" == *.parallel.test.ts ]]; then
# Extract individual test names and create a command for each
while IFS= read -r test_name; do
# Create a safe name for the individual test (replace spaces with underscores)
local safe_test_name=$(echo "$test_name" | sed 's/ /_/g')
# Create a safe name for the individual test. This becomes the docker container name via
# docker_isolate, so every character outside docker's allowed set [a-zA-Z0-9_.-] (spaces,
# parentheses, etc.) must be collapsed to an underscore or `docker run --name` rejects it.
local safe_test_name=$(echo "$test_name" | sed 's/[^a-zA-Z0-9_.-]/_/g')
local full_name="${name}_${safe_test_name}"
echo "$test_prefix:NAME=$full_name $(set_dump_avm $full_name) $run_test_script simple $test \"$test_name\""
done < <(extract_test_names "$test")
Expand Down Expand Up @@ -276,7 +292,9 @@ function compat_test_cmds {

if [[ "$test" == *.parallel.test.ts ]]; then
while IFS= read -r test_name; do
local safe_test_name=$(echo "$test_name" | sed 's/ /_/g')
# See the matching note in test_cmds: collapse docker-illegal characters so NAME is a valid
# container name for docker_isolate.
local safe_test_name=$(echo "$test_name" | sed 's/[^a-zA-Z0-9_.-]/_/g')
local full_name="compat_${version}_${name}_${safe_test_name}"
echo "$prefix:NAME=$full_name $compat_env $run_test_script simple $test \"$test_name\""
done < <(extract_test_names "$test")
Expand Down
3 changes: 2 additions & 1 deletion yarn-project/end-to-end/package.local.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests src/fixtures"
},
"jest": {
"setupFilesAfterEnv": ["../../foundation/src/jest/setupAfterEnv.mjs", "jest-extended/all", "./shared/jest_setup.ts"]
"setupFilesAfterEnv": ["../../foundation/src/jest/setupAfterEnv.mjs", "jest-extended/all", "./shared/jest_setup.ts"],
"testEnvironment": "./shared/timing_env.mjs"
}
}
Loading
Loading