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

CI: add Cirrus CI jobs #241

Merged
merged 6 commits into from
Dec 9, 2022
Merged

CI: add Cirrus CI jobs #241

merged 6 commits into from
Dec 9, 2022

Conversation

dnicolodi
Copy link
Member

@dnicolodi dnicolodi commented Dec 3, 2022

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.

@dnicolodi dnicolodi force-pushed the cirrusci branch 5 times, most recently from 0e9532a to 88d7112 Compare December 4, 2022 17:07
@dnicolodi
Copy link
Member Author

@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.
@dnicolodi dnicolodi force-pushed the cirrusci branch 2 times, most recently from f07b345 to c94c81a Compare December 7, 2022 08:08
@jpakkane
Copy link
Member

jpakkane commented Dec 7, 2022

Installed.

@dnicolodi
Copy link
Member Author

Thank you!

@FFY00
Copy link
Member

FFY00 commented Dec 8, 2022

Makes sense, and seems much faster. @mkoeppe do you have any thoughts?

@FFY00
Copy link
Member

FFY00 commented Dec 8, 2022

@dnicolodi can you look into the failure?

@dnicolodi
Copy link
Member Author

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.

@FFY00
Copy link
Member

FFY00 commented Dec 9, 2022

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.

@FFY00 FFY00 added enhancement New feature or request CI Continuous Integration labels Dec 9, 2022
@dnicolodi
Copy link
Member Author

I added a work-around for the Python 3.7 issue and tests fixes for the recently surfaced test failures on macOS. Merging.

@dnicolodi dnicolodi merged commit 5142149 into mesonbuild:main Dec 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants