-
-
Notifications
You must be signed in to change notification settings - Fork 553
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
CI: Migrate test-new to meson #39641
base: develop
Are you sure you want to change the base?
Conversation
test-long: | ||
runs-on: ubuntu-latest | ||
needs: [test-new] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't remove this defeat the whole point of test-new? (that you do a fast-fail when there's a trivial error to notify the pull request author to fix it, so you don't burn CPU on testing the rest of the files)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main point of test-new
is that it provides quick feedback for devs. But I'm planning to also move these "long" tests to meson in a follow-up and then it's indeed a good idea to make run only after all other normal tests were passing.
By the way, the only benefit of ccache I can see is when you If you're already using docker then ccache should be useless. Also there's a risk of some hidden cache stale issue (there'd better be a rebuild from scratch every release at least) |
The meson workflow is not using docker and thus ccache is used to cache the compilation (more precisely: cython is still run on all cython files, but the compilation of the resulting c/c++ is cached). |
Documentation preview for this PR (built with commit b9feb17; changes) is ready! 🎉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure why not, at least it's not slower than the current test-new.
The missing feature is "only run test-long (& full test with meson) if test-new succeeds" but… the only disadvantage is wasted electricity, I suppose.
Thanks @user202729 for the review. I'm setting this now to "positive review", hope you are okay with this. |
Migrates the
test-new
workflow to use Meson. The Meson build system rebuilds faster and leverages standard tools likeccache
for caching Cython file compilation. The github workflow is also considerably easier to read and maintain now.To ensure reliability, pushing the Docker image in the build workflow has been disabled, as it was continuously clogging the GitHub cache (limited to 10GB, while each cached image consumes several gigabytes). This change also resolves intermittent workflow failures caused by unsuccessful image pushes.
📝 Checklist
⌛ Dependencies