-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Package CI candidates #24266
Labels
Comments
For |
I didn't even consider that nimble is not tested outside of the version the compiler installs. Added separate nim-lang packages section in case we are missing more of those. |
narimiran
added a commit
that referenced
this issue
Oct 11, 2024
This adds several new Status packages to the CIs: - confutils - eth - metrics - nat_traversal - toml_serialization Other packages mentioned in #24266 are currently not ready to test with `devel` for various reasons. ---- This also enables `criterion`, and removes other packages that had been in the `allowFailure` category — even without them we have plenty of packages (145) that we test, there's no point in spending CI time on them just to see them fail every time. If/when the authors of those packages make them work with Nim devel, we can re-introduce them then.
narimiran
added a commit
that referenced
this issue
Oct 11, 2024
This adds several new Status packages to the CIs: - confutils - eth - metrics - nat_traversal - toml_serialization Other packages mentioned in #24266 are currently not ready to test with `devel` for various reasons. ---- This also enables `criterion`, and removes other packages that had been in the `allowFailure` category — even without them we have plenty of packages (145) that we test, there's no point in spending CI time on them just to see them fail every time. If/when the authors of those packages make them work with Nim devel, we can re-introduce them then. (cherry picked from commit 2747626)
narimiran
added a commit
that referenced
this issue
Oct 11, 2024
This adds several new Status packages to the CIs: - confutils - eth - metrics - nat_traversal - toml_serialization Other packages mentioned in #24266 are currently not ready to test with `devel` for various reasons. ---- This also enables `criterion`, and removes other packages that had been in the `allowFailure` category — even without them we have plenty of packages (145) that we test, there's no point in spending CI time on them just to see them fail every time. If/when the authors of those packages make them work with Nim devel, we can re-introduce them then. (cherry picked from commit 2747626)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is a general issue for packages that should be in package CI until the situation has sufficiently improved, suggestions would be appreciated.
The release of 2.2 was delayed quite a bit by breaks in packages that were not tested in CI and had to be tested individually long after the breaks were introduced. The last time a package was added to CI was constantine in July 2024, which is somewhat recent, but the last ones before that were ssostrings and cowstrings in June 2023, before the release of 2.0. I can attest to constantine for example being the only package in CI which demonstrated some breaks when developing PRs like #24005. So it's long overdue for some updates.
Status
Individual libraries
Going off the list of packages which @narimiran made PRs to add 2.2 CI, not all are necessarily feasible for Nim CI:
blst
nil
and typeuntyped
keeps the typeuntyped
#24164Other status packages that may be worth adding:
Except
ssz-serialization
, all of these have CI runs that last around 10 minutes at most (some don't have CI runs though). In the worst case, we don't have to run their entire test suites (as is done for stint).Big packages
Most of the above libraries are dependencies of the bigger status toolchain repos, namely:
These are the packages that catch the most regressions by far. It might not be necessary to test all of the ones above that are dependencies to these if we just test these.
These packages are quite a bit more difficult to test however, both due to the required setup and maintenance, as well as the potential increase to the CI time, since the full CI runs of these are 30 minutes or longer. Some options we have to deal with this are:
This could be generalized to test any large toolchain using Nim.
Unfortunately I don't know much about the CI for these packages so I can't really go into specifics. Other opinions on this would be appreciated.
nim-lang packages
These have the advantage that we can manage & watch their CI, but it might still be useful to test them for PRs etc.
-d:nimOptIter
is defined #24094Other community packages
Unfortunately again, as someone who mainly uses Nim to work on the Nim compiler, I'm not too aware of libraries that are important to people that don't interact with this repo. Off the top of my head, I can suggest:
templates
is testednim check
fails when checking chame #24288 although this wouldn't be caught by testingPotentially harder to test:
Not all tested packages need to be popularly used, as long as they uniquely demonstrate a use of the language that is expected to keep working. Small, vetted macro libraries for example would be useful.
The text was updated successfully, but these errors were encountered: