Skip to content

chore(fill,ci): only generate each fixture once per release #2039

@danceratopz

Description

@danceratopz

For "full" (aka "stable" releases), we provide two tarballs for client teams:

  • fixtures_develop.tar.gz: All tests up to and including the current fork under active development.
  • fixtures_stable.tar.gz: All tests up to and including the current fork deployed to mainnet.

Two tarballs are currently provided as a convenience to client teams.

The fixtures_develop tarball is a superset of fixtures_stable: It contains all the tests from fixtures_stable, but additionally:

  • All tests filled with the current development fork.
  • Tests specific for the current development fork.

Currently, tarballs are generated directly by fill in two separate commands:

stable:
evm-type: stable
fill-params: --until=Prague --fill-static-tests --ignore=tests/static/state_tests/stQuadraticComplexityTest
develop:
evm-type: develop
fill-params: --until=Osaka --fill-static-tests --ignore=tests/static/state_tests/stQuadraticComplexityTest

which means that each test fixture is generated twice.

I would suggest we generate --until=Osaka by default and write a filter_fixtures cli utility:

filter_fixtures --input=fixtures_develop/ --output=fixtures_stable/ --filter=name,regex

where name,regex could be fork,Osaka, for example, and we define filters within the cli utility that map to fixture field names (state and blockchain fixtures aren't consistent). This would allow us to copy all the fixtures across but remove the dev fork fixtures.

Metadata

Metadata

Assignees

Labels

scope:ciScope: Continuous Integrationscope:fillScope: fill commandtype:choreType: Chore

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions