Commit Graph

121 Commits

Author SHA1 Message Date
Eli Schwartz 5c479d7a13
ciimage: fix pathological brokenness in Debian packaging of python
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-28 18:22:19 -04:00
Ralf Gommers aa7bc2adf0 Add Cython to Windows CI jobs on Azure
[skip actions]
2023-05-05 12:23:52 -04:00
Nirbheek Chauhan c0c9f755a4 ci: Move to the codecov github action
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-21 13:30:45 +05:30
Josh Soref cf9fd56bc9 fix various spelling issues
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-11 19:21:05 -04:00
Eli Schwartz 06ba880a48
CI: ensure pypy3 has the basic packages 2023-02-12 00:22:53 -05:00
Eli Schwartz d0b39a6872
CI: migrate pypy3 tests from bionic to Arch
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-08 18:52:28 -05:00
Eli Schwartz c07269dcba
CI: skip valgrind test on Arch
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-02-08 18:52:28 -05:00
Eli Schwartz cb20486f37
CI: fix cuda image breakage
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-08 19:30:24 -05:00
Eli Schwartz 816a30abf2
CI: get wxgtk2 via aur_pkgs as it was dropped from the official repos
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).
2023-01-08 19:30:24 -05:00
Eli Schwartz 68a84f6535
fix confusing azure pipelines status for coverage
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-11-16 19:28:24 -05:00
Eli Schwartz 2f079be996
CI: include zlib devel package for the mingw cross tests
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-09 00:47:01 -04:00
Eli Schwartz 3fbcff1c27
CI: remove nim from the ubuntu rolling install list
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-08-05 00:26:19 -04:00
Eli Schwartz 1521bdd9fd
CI: install ifort on Windows
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-07-11 17:58:02 -04:00
mattip a9b63ff76f add a pypy3 for windows too 2022-04-12 06:58:04 -04:00
mattip 1bb0387e67
add pypy3 to the bionic image 2022-04-11 16:59:40 -04:00
Eli Schwartz e082f268bd
CI images: add the JRE to Ubuntu
This is needed in order to test a pending improvement to the jni
dependency in #10048.
2022-03-03 17:52:43 -05:00
Mark Bolhuis 5a4177523e modules/wayland: Add unstable_wayland module 2022-02-27 14:33:33 -05:00
Jussi Pakkanen 4316b71017
Merge pull request #9742 from ximion/wip/itstool
i18n: Add support for joining XML localization via itstool
2022-01-22 01:01:29 +02:00
Eli Schwartz ad525dcce4
bump minimum required version of python to 3.7
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-10 18:36:56 -05:00
Eli Schwartz 0c30db20b1
update ubuntu bionic to use python 3.7
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.
2022-01-10 18:36:56 -05:00
Matthias Klumpp e60d358e04 ci: Make sure itstool is available on Ubuntu as well
All other CI images already seed it explicitly.
2021-12-18 04:43:19 +01:00
Dylan Baker 7191b6dab2 ci: install pytest-subtests
Which lets pytest understand unittest.subtest
2021-12-06 20:06:14 -05:00
Dylan Baker d0b651525e ci/ubuntu-rolling: remove pkg-config-arm-linux-gnueabihf
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-12-06 20:06:14 -05:00
Christian Clauss a5020857f3 Fix typos discovered by codespell 2021-10-10 16:12:25 -04:00
Daniel Mensinger ecaa1d19ed ci: Add TTY mode to the image builder mounting meson 2021-10-06 16:43:59 +02:00
Dylan Baker f0a7b6e7c6 pipelines: add 32bit clippy to 32bit rust 2021-09-24 18:48:48 -07:00
Daniel Mensinger be3bd9ea64 ci: Also use the `autoCancel` key for Azure
This also removes the additional upload step for test results
in the hope of fixing the `autoCancel` flag.
2021-09-04 17:03:24 +02:00
Daniel Mensinger d5f30308b4 ci: Fix missing MESON_CI_JOBNAME in the image builders 2021-09-04 17:03:24 +02:00
Nirbheek Chauhan c95bffb295 ci: Use 32-bit Rust and Python on vs2017 x86
See also: https://github.com/mesonbuild/meson/issues/9038#issuecomment-898960933
2021-08-16 10:36:13 -04:00
Jon Turney 24135c8c8e
Set MESON_CI_JOBNAME for all CI jobs
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-13 15:18:32 +01:00
Jon Turney 317f9555a7 azure: propagate run_tests.py exit code
Propagate the run_tests.py exit code, rather than overwriting it with
the codecov exit code.
2021-07-12 19:44:29 +02:00
Jon Turney 609864a66d Annotate framework tests with where they are expected to skip
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-07-07 20:08:12 +02:00
Daniel Mensinger 3e396b3782
fix: Always explicitly set encoding for text files (fixes #8263) 2021-06-29 11:28:08 +02:00
Daniel Mensinger 765aff5a42 coverage: Enable coverage reports 2021-06-22 21:05:11 +03:00
Daniel Mensinger 25f2d8826e ci: Fix CI image builder 2021-06-11 11:10:55 +02:00
Luca Weiss 398df56298 Add Qt6 module 2021-02-07 22:43:00 +02:00
Dylan Baker 9cebd29da9 mesonlib: Add better errormessage to typelistify 2021-02-06 10:27:04 -08:00
Dylan Baker 80ec157e5e ci: Add bindgen to CI images 2021-02-06 10:27:04 -08:00
Dylan Baker c321339b24 Change the Eoan CI to ubuntu rolling ci
This makes the Ubuntu CI always use the latest release, without us
having to manually change it.
2021-01-29 19:40:25 +00:00
Eli Schwartz 19d3a7f5b6
CI: arch: get hotdoc from official repos
It is now officially packaged.
2021-01-29 12:14:57 -05:00
Eli Schwartz 03b1955c68
CI: arch: remove duplicate package from list 2021-01-29 12:13:56 -05:00
Eli Schwartz 4ff020759a
CI: fix arch linux tests failing to install wxgtk
There hasn't been any such package since the original addition of a
gtk3 version of wxgtk... back in 2017. The "new" wxgtk2 package provided
a virtual provides ever since, so people still depending on "wxgtk"
would get the old gtk2 version. This virtual provides got dropped today,
resulting in the package being uninstallable.

Resolve the provides to its canonical name, thus making it installable
again.
2021-01-11 19:07:12 -05:00
Christoph Reiter 8d04b3ce74 CI: Move all remaining jobs from travis-ci to GHA
Some changes:

* Set HOME to /root, since github mounts its own HOME and 'wine'
  (because of permissions) and 'dub' (can't find packages) don't
  like that.
* Remove the seccomp option, doesn't seem to be needed.
2020-12-11 13:45:11 -08:00
Dylan Baker fd27dfe649 travis: Drop osx support
We're now running this through github actions, no need for travis.
2020-11-11 07:42:40 -08:00
Daniel Mensinger b27af7e465
cmake: Add cross tests 2020-10-13 17:04:20 +02:00
Daniel Mensinger 47046c3fb9 ci: fix fedora image 2020-10-13 00:30:31 +02:00
Daniel Mensinger f6b346f2e2 ci: Add an interactive mode (testTTY) for the CI image builder 2020-10-13 00:30:31 +02:00
Jon Turney 6a56291a2a Add a test run of MSVC ARM64 cross on Windows x64
Add a cross-file for MSVC UWP ARM64.

Bump cidata tag to get an updated install.ps1 script (run by run.ps1)
which sets the vcvars environment correctly when cross-compiling.

Since arranging the correct environment for simultaneous cross and
native 'cl' use is hard, this is test run uses '--cross-only' so we
don't require a native compiler.

Extend '--cross-only' so it also explicitly uses a machine file which
makes all build machine compilers unusable.
2020-09-11 20:45:09 +00:00
Cary Converse a198e5d191 coverage: llvm-cov support 2020-06-17 23:02:50 -04:00
Nirbheek Chauhan 804cefc94c ci: Remove PostgreSQL from PATH
It's one of the causes of the cmake test failures, and it's also
plaguing the VS2019 jobs now because of the image update.
2020-06-17 16:51:58 +00:00