-
Notifications
You must be signed in to change notification settings - Fork 70
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: add Cirrus CI jobs #241
Conversation
0e9532a
to
88d7112
Compare
@jpakkane can you please install Cirrus CI for the meson-python repository? The instructions are here https://cirrus-ci.org/guide/quick-start/ |
Run the tests on a few different Linux and Python distributions.
The new Cirrus CI jobs are a much more efficient way to run the test suite on a few different Linux and Python distributions.
f07b345
to
c94c81a
Compare
Installed. |
Thank you! |
Makes sense, and seems much faster. @mkoeppe do you have any thoughts? |
@dnicolodi can you look into the failure? |
The reason of the failure is detailed in the PR description 😃 "manylinux Python 3.7 job is failing because of mesonbuild/meson#11097, fixed in mesonbuild/meson#11104." I can find a way to have the job to use an unreleased Meson, but the Meson version fixing that should materialize soon so maybe we can just wait a bit. |
Ah sorry, my dyslexia sometimes makes it hard to parse stuff, and the ADHD messes with my concentration, I forgot you had already mentioned that 🙃 Yep, we can wait. But IMO, we could just merge it right now. |
I added a work-around for the Python 3.7 issue and tests fixes for the recently surfaced test failures on macOS. Merging. |
Run the tests on a few different Linux and Python distributions. I think this setup is much more agile than the Sage CI based one, and it catches issues much more effectively. The test are currently failing on issue I identified in one of my projects: the Debian jobs fail because of #109, fixed in pypa/pip#11623 and the manylinux Python 3.7 job is failing because of mesonbuild/meson#11097, fixed in mesonbuild/meson#11104.
Once the container images have been created and cached, the tests run in just a bit more than a minute and we can run 16 parallel configurations. I added a few relevant Linux distributions and Conda on Linux. Sage CI is also run on openSUSE but I don't know anything about package management on Suse thus I don't know how to create the container images. If someone contributes the image setup definition, it is trivial to add new jobs. I'm definitely not a container expert and I didn't do any effort to minimize the size of the images. Given that they are cached on the CI infrastructure, I don't think it matters.
Someone will need to figure out how to add the Cirrus CI GitHub Application to the repository and allow access to the logs.