Replies: 3 comments 6 replies
-
when i started working on linkml the tests took an hour to run on my machine, so we've come a long way here :) running tests locally without I'm trying to close up my laptop and head home for the night so am not gonna profile rn, but here are some ways we could improve test perf: library improvements:
test cleanup:
test infra improvements:
When i remove shexgen from compliance and eagerly skip (by regexing a anyway i think we actually have a decent amount of floor to squeeze out of the tests before we start dumping em <3 That said I think a multi-tiered testing situation is a great idea. In Another possibility is to split off
I have started adding marks for the different generators, they're not comprehensive yet but if they were then we could use PR labels for this - only run tests for a given generator when it's one of the labeled generators (and then run all tests in whatever we decide as the "final phase" when all tests are run) |
Beta Was this translation helpful? Give feedback.
-
I like the multi layered approach @Silvanoc 👍 @sneakers-the-rat as usual your knowledge of this project's code base just blows my mind 🤯 You clearly know what we need to optimize. I will emphasize one point that's critical and should be the first to be addressed : the Kroki.io error blocking the CI verification steps. |
Beta Was this translation helpful? Give feedback.
-
One stage that we are not considering yet and would be probably meaningful to introduce is a pre-release stage. In this stage all full-blown tests would need to pass before a new release is created. Probably a release process that automatically blocks releases until all tests are green would be meaningful. AFAIK releases are as of now a somehow manual process. |
Beta Was this translation helpful? Give feedback.
-
Current CI testing approach is quite heavy (time- and resource-wise):
I would like therefore to propose a 2 stages merge process:
The proposal has the obvious advantages of:
More complex and powerful 3 stage alternative:
In this alternative an additional stage is added:
tests/tests_generators
for changes in the directorylinkml/generators
).This proposal has following advantages:
Beta Was this translation helpful? Give feedback.
All reactions