Skip to content

Stabilize daily workflow #1489

@gabrielbosio

Description

@gabrielbosio

Motivation

Daily workflow runs may fail due to RPC timeout. These failures are considered false negatives since we want them to fail only because of state diffs between the VM and Native. For this reason we want to make daily workflow runs to not depend on RPC calls.

Implementation

To achieve this, the existing daily workflow must be separated in two:

  1. A manually triggered workflow that receives a block range, executes it with the VM and stores each value taken from responses of RPC calls into Github Actions cache.
  2. A daily workflow similar to the one in main where each RPC call is replaced with the corresponding fetch to the cache previously stored in step 1.

Caveats

If a change in Native effectively produces a state diff against the VM then Native would attempt to fetch a value from the cache that is inexistent (since the cached values was built with the VM). While this would cause the daily workflow run to fail (which is what we want), the corresponding error message would not be descriptive enough to realize what the state diff is about. This is not that problematic since running each problematic block locally would give us the information about the state diffs we want.

Metadata

Metadata

Assignees

Labels

processTasks related to the develop process, CI, testing, etc

Type

No type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions