summaryrefslogtreecommitdiff
path: root/ci
AgeCommit message (Collapse)Author
2024-02-09CI image builder: fix profile loading for gentooEli Schwartz
We need to load various environment variables from /etc/profile. We cannot unconditionally load it, because opensuse sources env_vars and their /etc/profile has a fatal bug in it that causes it to return nonzero and abort under `set -e` (which is *amazing* as a thing to have in /etc/profile specifically -- just saying). Alas, even /etc/profile.env is not enough since Java support depends on profile.d logic. Re-conditionalize this check to only be added to env_vars.sh for the image named "gentoo".
2024-02-09ci: fedora; add file packageSam James
FAILED unittests/linuxliketests.py::LinuxlikeTests::test_install_strip - FileNotFoundError: [Errno 2] No such file or directory: 'file' Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
2024-02-09ci: add GentooSam James
We may want to consider our own binpkg cache for future to speed things up, in addition to the ones provided by Gentoo's own binhost. Signed-off-by: Sam James <sam@gentoo.org> Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
2023-12-13Use SPDX-License-Identifier consistentlyDylan Baker
This replaces all of the Apache blurbs at the start of each file with an `# SPDX-License-Identifier: Apache-2.0` string. It also fixes existing uses to be consistent in capitalization, and to be placed above any copyright notices. This removes nearly 3000 lines of boilerplate from the project (only python files), which no developer cares to look at. SPDX is in common use, particularly in the Linux kernel, and is the recommended format for Meson's own `project(license: )` field
2023-12-10unittests: migrate from jsonschema to fastjsonschemaEli Schwartz
The former has rust dependencies, which lead to max capping on Cygwin since there is no rust compiler there. But it turns out there are other disadvantages of jsonschema: - it involves installing 5 wheels, instead of just 1 - it is much slower To give some perspective to the latter issue, this is what it looks like when I test with jsonschema: ``` ===== 1 passed, 509 deselected in 3.07s ===== Total time: 3.341 seconds ``` And here's what it looks like when I test with fastjsonschema: ``` ===== 1 passed, 509 deselected, 1 warning in 0.28s ===== Total time: 0.550 seconds ``` I cannot think of a good reason to use the former. Although in order to work on old CI images, we'll support it as a fallback mechanism
2023-11-12CI: adapt to renamed fedora package when building updated imagesEli Schwartz
2023-11-06ci: Add arm rust toolchain in ubuntu-rolling imageXavier Claessens
2023-10-04CI: fix the fix for python actually being mildly usefulEli Schwartz
In commit 5c479d7a13a518c18ccb4dc3b6bdd7bfc2a9bdb5, we deleted bad stuff that makes python not work. But we missed the case where it is installed to lib64.
2023-10-04CI: fix broken ciimage builder script failing to correctly copy mesonEli Schwartz
Regression in commit 0af126fec798d6dbb0d1ad52168cc1f3f1758acd. We added support for some "test cases/" stuff that actually relies on test files being a symlink, but when testing the image builder, we copied the meson repository contents into the docker container without telling python that it is in fact super important to copy symlinks as symlinks. As a result, the tests themselves ran fine when merging, but caused the image builder to thereafter fail.
2023-10-04CI: install an older java on opensuseEli Schwartz
They do not appear to have 20 in their repos anymore, and no traces can be found of it in the history, as usual. They do have 11, 17, and 21. Last time we chose one randomly and hoped it doesn't keep changing value. This dismally failed: 20 was upgraded to 21. It looks like 17 may have some staying power.
2023-07-20ci: Add Rust Windows cross toolchain on ubuntu-rolling imageXavier Claessens
2023-07-18CI image builder: log commands a bitEli Schwartz
2023-07-18CI: install a newer java on opensuseEli Schwartz
They do not appear to have 15 in their repos anymore, and no traces can be found of it in the history, as usual. They do have 11, 17, and 20, so choose one randomly and hope it doesn't keep changing value.
2023-06-07azure pipelines: force python2 to be installedEli Schwartz
Azure pipelines is removing python2 from the hostedtoolcache, see https://github.com/actions/runner-images/issues/7401 We want to test that meson can still build modules for it, anyway.
2023-05-28ciimage: fix pathological brokenness in Debian packaging of pythonEli Schwartz
In this case, PEP 668 was created to allow a thing that Debian wanted, which is for `pip install foobar` to not break the system python. This despite the fact that the system python is fine, unless you use sudo pip which is discouraged for separate reasons, and it is in fact quite natural to install additional packages to the user site-packages. It isn't even the job of the operating system to decide whether the user site-packages is broken, whether the operating system gets the answer correct or not -- it is the job of the operating system to decide whether the operating system is broken, and that can be solved by e.g. enforcing a shebang policy for distribution-packaged software, which distros like Fedora do, and mandating not only that python shebangs do not contain `/usr/bin/env`, but that they *do* contain -s. Anyway, this entire kerfuffle is mostly just a bit of pointless interactive churn, but it bites pretty hard for our use case, which is a container image which is fortunately tested before deployment, so instead of failing to deploy because of theoretical conflicts with the base system (we specifically need base system integration...) we fail to deploy because 5 minutes into pulling apt updates at the very beginning, pip refuses point-blank to work. I especially do not know why it is the job of the operating system to throw errors intended for interactive users at people baking "appliance" containers who cannot "break" the system python anyway. Fix this by doing what Debian and Ubuntu should both have done from the beginning, and opting containers out of this questionable feature entirely. Note that CI images may still not actually complete their build/test cycle and be updated, because e.g. LLVM 16 issues tracked by #11642 or glib ASAN issues tracked by #11754.
2023-05-05Add Cython to Windows CI jobs on AzureRalf Gommers
[skip actions]
2023-04-21ci: Move to the codecov github actionNirbheek Chauhan
The pypi package was suddenly removed. Not the most confidence-inspiring deprecation/migration: https://about.codecov.io/blog/message-regarding-the-pypi-package/
2023-04-11fix various spelling issuesJosh Soref
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-02-12CI: ensure pypy3 has the basic packagesEli Schwartz
2023-02-08CI: migrate pypy3 tests from bionic to ArchEli Schwartz
The bionic image is really old and mainly exists to test that Meson itself still works on really old distros (and really old python). Ideally we'd avoid depending too much on it. We can get a very modern pypy3 automatically this way, and potentially use it for more stuff too.
2023-02-08CI: skip valgrind test on ArchEli Schwartz
It's already run on other distros. This one fails though, due to missing debug info. ``` valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) ``` It doesn't seem possible to have this work out of the box. The debuginfo packages aren't reliably available, and debuginfod servers -- even if they worked, which they apparently don't -- would not help anyway since old version pruning can result in symbols disappearing before the image is rebuilt, and thereby causing failure. It's not really critical to test this, since as mentioned we already have coverage of Meson's side in other distro ciimages.
2023-01-08CI: fix cuda image breakageEli Schwartz
From the Zen of Python: "Explicit is better than implicit." As it turns out, it's no longer a safe assumption that pip uses setuptools??? Well, anyway, install it properly regardless.
2023-01-08CI: get wxgtk2 via aur_pkgs as it was dropped from the official reposEli Schwartz
Note: this does not actually fix the image builder. It just lets us get far enough to see the testsuite error (the same docker bug that opensuse has).
2022-11-16fix confusing azure pipelines status for coverageEli Schwartz
The coverage report was always the final section of the main test run. This made it hard to scroll around and find exactly what went wrong -- particularly as not everyone realizes that coverage isn't part of the test run, but also because the output from coverage is... excessively long. This mirrors what we do in our other workflows.
2022-08-09CI: include zlib devel package for the mingw cross testsEli Schwartz
After a recent CI image builder update successfully ran the tests, but didn't run the cross tests, it updated the image that then got used by the regular CI cross tests. Somehow this resulted in a bunch of tests now failing because zlib could not be picked up. We probably dropped a transitive dependency somewhere. Anyway, it's correct to explicitly specify it if we need it.
2022-08-05CI: remove nim from the ubuntu rolling install listEli Schwartz
We've never used it for anything, it was originally added for #3776 but that never got finished so it's just a waste. This also prevents successful regeneration of the build image, because nim is not available for Ubuntu rolling. It's available in 20.04 and 22.10, but vanished in between for reasons best known to Ubuntu.
2022-07-11CI: install ifort on WindowsEli Schwartz
This enables the fortran tests for Azure. We only test on x64, because: - ifort isn't arm64 compatible - x86 may in theory exist, but Meson reports it cannot compile executables
2022-04-12add a pypy3 for windows toomattip
2022-04-11add pypy3 to the bionic imagemattip
2022-03-03CI images: add the JRE to UbuntuEli Schwartz
This is needed in order to test a pending improvement to the jni dependency in #10048.
2022-02-27modules/wayland: Add unstable_wayland moduleMark Bolhuis
2022-01-22Merge pull request #9742 from ximion/wip/itstoolJussi Pakkanen
i18n: Add support for joining XML localization via itstool
2022-01-10bump minimum required version of python to 3.7Eli Schwartz
Comment out the pending deprecation notice. It cannot be reached anymore, but is still useful for the next time we do a version bump.
2022-01-10update ubuntu bionic to use python 3.7Eli Schwartz
The pip package is for python 3.6, but installs pip for all versions of python. Apparently. Including python 3.7. So do all other packages, especially the ones where it doesn't work but pip thinks it is installed anyway. Force a reinstall.
2021-12-18ci: Make sure itstool is available on Ubuntu as wellMatthias Klumpp
All other CI images already seed it explicitly.
2021-12-06ci: install pytest-subtestsDylan Baker
Which lets pytest understand unittest.subtest
2021-12-06ci/ubuntu-rolling: remove pkg-config-arm-linux-gnueabihfDylan Baker
This has been removed as an explicit package in impish. It seems that having pkg-config installed and adding arm as an arch will cause it to be generated automatically
2021-10-10Fix typos discovered by codespellChristian Clauss
2021-10-06ci: Add TTY mode to the image builder mounting mesonDaniel Mensinger
2021-09-24pipelines: add 32bit clippy to 32bit rustDylan Baker
2021-09-04ci: Also use the `autoCancel` key for AzureDaniel Mensinger
This also removes the additional upload step for test results in the hope of fixing the `autoCancel` flag.
2021-09-04ci: Fix missing MESON_CI_JOBNAME in the image buildersDaniel Mensinger
2021-08-16ci: Use 32-bit Rust and Python on vs2017 x86Nirbheek Chauhan
See also: https://github.com/mesonbuild/meson/issues/9038#issuecomment-898960933
2021-07-13Set MESON_CI_JOBNAME for all CI jobsJon Turney
Set MESON_CI_JOBNAME for all CI jobs which run project tests. (Note that ${{ github.job }} is the literal job.id used in the yaml, not any name given to the job with job.id.name, and so is the same for all matrix entries, and thus not suitable for our purposes there).
2021-07-12azure: propagate run_tests.py exit codeJon Turney
Propagate the run_tests.py exit code, rather than overwriting it with the codecov exit code.
2021-07-07Annotate framework tests with where they are expected to skipJon Turney
Remove hard-coded framework test skip logic in skippable(), instead annotate test.json with environments in which skip is expected. (Mainly this is done with by testing the value of MESON_CI_JOBNAME now set for linux jobs)
2021-06-29fix: Always explicitly set encoding for text files (fixes #8263)Daniel Mensinger
2021-06-22coverage: Enable coverage reportsDaniel Mensinger
2021-06-11ci: Fix CI image builderDaniel Mensinger
2021-02-07Add Qt6 moduleLuca Weiss