diff --git a/.test_patterns.yml b/.test_patterns.yml index 5a334cd586c6..923caf6ece29 100644 --- a/.test_patterns.yml +++ b/.test_patterns.yml @@ -356,3 +356,11 @@ tests: error_regex: "timeout: sending signal" owners: - *charlie + + # Timing-sensitive: after time warp, PXE may use stale anchor block under heavy CI load, + # causing "Invalid expiration timestamp" when 64+ tests run in parallel. + # Passes reliably when run in isolation. Introduced by #22084 (new CheatCodes warp API). + - regex: "src/e2e_blacklist_token_contract/shielding.test.ts" + error_regex: "Invalid expiration timestamp" + owners: + - *jan diff --git a/yarn-project/end-to-end/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts b/yarn-project/end-to-end/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts index a8db3a6f3704..e4cd38591417 100644 --- a/yarn-project/end-to-end/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +++ b/yarn-project/end-to-end/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts @@ -70,6 +70,9 @@ export class BlacklistTokenContractTest { async crossTimestampOfChange() { await this.cheatCodes.warpL2TimeAtLeastBy(this.aztecNode, BlacklistTokenContractTest.CHANGE_ROLES_DELAY); + // Force PXE to sync the warped block before returning. Under heavy CI load, the PXE may not + // have the latest block yet when the next send() call runs, causing "Invalid expiration timestamp". + await this.asset.methods.get_roles(this.adminAddress).simulate({ from: this.adminAddress }); } /**