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

Minor improvements to caches and CI #3374

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

Minor improvements to caches and CI #3374

wants to merge 4 commits into from

Conversation

aatkin
Copy link
Collaborator

@aatkin aatkin commented Jan 28, 2025

rems.kaocha:

  • Renamed --plugin rems.kaocha/circleci-parallel-plugin now saves its output to target/circleci-parallel-plugin/
    • test-ids.txt and split-test-ids.txt
  • --plugin rems.kaocha/cache-statistics-plugin now saves its output to target/cache-statistics-plugin/
    • cache-report.md

CircleCI:

  • Integration tests store artifacts from statistics plugin
  • Browser tests store artifacts from statistics and parallel plugin
  • Added --timings-type=testname flag to CircleCI test splitting
    • Controls how CircleCI uses past timing data to split the tests. Default behaviour has been to use filename , which is quite useless when tests are in one file..

rems.cache:

  • Removed cache hit statistics (:get) as unneeded feature

Ensure config is started when calling cache/basic:

  • Should have been obvious, but when db namespaces with caches are loaded, the caches are initialized before config is mounted, and all the dev checks are always falsy.

Checklist for author

Remove items that aren't applicable, check items that are done.

Reviewability

  • Link to issue (no issue)

Change CircleCI test splitting to use test names instead of filenames (documentation was buried deep on this one). This should improve parallel test distribution, especially for browser tests that are all in one file.
@aatkin aatkin force-pushed the ci-improvements branch 2 times, most recently from a71865f to 54c42eb Compare January 29, 2025 13:12
- Renamed kaocha plugins
- Write cache statistics to files in target/cache-statistics-plugin instead of stdout, and store as CircleCI artifacts
- Write test-ids and split-test-ids to files in target/circleci-parallel-plugin and store as CircleCI artifacts
This was unnecessary part from the beginning, and mainly just interesting while debugging early version of the cache.

There is a subtle "bug" regarding config startup: mount is not started before the namespace is loaded. It's not an easy issue to solve, because caches are defined in many different namespaces and initialized using function call.
rems.main was removed at some point as unnecessary require, but it is now used by hooks test, and sometimes Kaocha test runner goes haywire about the missing require.
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.

1 participant