Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Cl/ci3.2 #10919

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open

chore: Cl/ci3.2 #10919

wants to merge 19 commits into from

Conversation

charlielye
Copy link
Contributor

@charlielye charlielye commented Dec 20, 2024

Further iteration towards full CI3.
TLDR: Working towards ~10m repo test time.

  • Begin to separate out "building of tests" (mainly thinking of C++ and Rust). We don't want to do this on a fast bootstrap, but we do want to do it if we're going to run the tests. And moving towards the new testing model we need to separate building and running of tests.
  • Introduce test-cmds cmd on bootstrap scripts. Returns a list of commands, that if run from repo root, execute individual (usually) tests.
  • Note this also introduces the standard of ./scripts/run_test.sh being a script that given some succinct arguments, can run a single test.
  • Introduce test-all (eventually to become just test) in root bootstrap.sh. No args runs all tests, or you can give it a list of folders to projects with their own bootstrap scripts and it'll run their tests. Runs in 10m20s. Currently skipping some things (see TODO below). Reports slow tests after run.
  • Note this also runs our TS project tests directly as javascript. i.e. it's assumed the tests have all been compiled to the dest folder and have whatever they need to operate. Hitting yarn + transpiler is just gruesome use of resources.
  • Improve cache script to not deal with env vars, but just args. If the args is a file, its treated as a rebuild patterns file, otherwise treated as a pattern itself.
  • Remove TEST=0/1 flag. Unnecessary. Normal bootstraps don't run tests, and If i request to run tests I want them to run. So the "skip tests if cache flag exists" only needs to be applied if CI=1.
  • Get's rid of all hardcoded srs paths in favour of making function call to get the path. Will check environment variables first, and fallback on hardcoded path (now in one place). I ultimately didn't need this like I thought I would, but it's the right move anyway, and will make the switch to the flat crs easier.
  • Bit of refactoring to remove "right drift" of cache blocks. i.e. return if nothing to do instead of enclosing in an if statement.
  • bb.js uses @swc/jest like yarn-projects does.
  • Delete bootstrap folder. Is was there to help test the bootstrap script in CI, but now we use the bootstrap script in CI.
  • Add build cache to boxes.
  • Enable extended globs in CI3 scripts.
  • Revert back to default jest reporter, unless running all tests from root, then it uses summary reporter.

TODO:

  • kv-store tests
  • TXE for contracts/aztec.nr tests
  • noir js packages tests
  • Skipping tests matching test_caches_open|requests in noir tests.
  • Standardise how tests are skipped so we can see in one place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants