diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2023-07-06 15:43:44 -0400 |
---|---|---|
committer | Eli Schwartz <eschwartz@archlinux.org> | 2023-07-06 17:37:13 -0400 |
commit | ecbba0c45b05b53563b23b84191a0acccdfcc291 (patch) | |
tree | 0e22684c99e95f174719232e8b798f2da3a9d05e | |
parent | a5b74d208b546620c8560f8c0d4471015f0f7a9b (diff) | |
download | meson-ecbba0c45b05b53563b23b84191a0acccdfcc291.zip meson-ecbba0c45b05b53563b23b84191a0acccdfcc291.tar.gz meson-ecbba0c45b05b53563b23b84191a0acccdfcc291.tar.bz2 |
CI: gracefully handle jsonschema update requiring rust to build
This has issues on Windows with msys2/cygwin, where we need to build it
ourselves since binary wheels aren't supported on PyPI. And we don't
have a rust compiler available for either one -- we may not be *able* to
do so for cygwin?
For msys2, the solution is pretty easy, just rely on the official msys2
packages for jsonschema, which handle both it and its dependencies for
us and don't require us to compile anything. Currently they still have
an older jsonschema that doesn't use rust deps at all, but that's
because the new jsonschema was released today. We'll automatically catch
up at some point.
For cygwin, there is no rust compiler in the cygwin repository, and
jsonschema there is old as the hills. I do not know if there's a good
answer here, but an adequate answer is to cap jsonschema at the version
we were testing with yesterday.
-rw-r--r-- | .github/workflows/cygwin.yml | 3 | ||||
-rw-r--r-- | .github/workflows/msys2.yml | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml index 9a77cad..e62c745 100644 --- a/.github/workflows/cygwin.yml +++ b/.github/workflows/cygwin.yml @@ -76,7 +76,8 @@ jobs: - name: Run pip run: | export PATH=/usr/bin:/usr/local/bin:$(cygpath ${SYSTEMROOT})/system32 - python3 -m pip --disable-pip-version-check install gcovr jsonschema pefile pytest pytest-subtests pytest-xdist coverage + # jsonschema is max capped because the new version depends on rust dependencies which are... hard to get on cygwin + python3 -m pip --disable-pip-version-check install gcovr 'jsonschema<4.18' pefile pytest pytest-subtests pytest-xdist coverage shell: C:\cygwin\bin\bash.exe --noprofile --norc -o igncr -eo pipefail '{0}' - uses: actions/cache/save@v3 diff --git a/.github/workflows/msys2.yml b/.github/workflows/msys2.yml index 7f6d39e..8f1823d 100644 --- a/.github/workflows/msys2.yml +++ b/.github/workflows/msys2.yml @@ -83,11 +83,12 @@ jobs: mingw-w64-${{ matrix.MSYS2_ARCH }}-python-lxml mingw-w64-${{ matrix.MSYS2_ARCH }}-python-setuptools mingw-w64-${{ matrix.MSYS2_ARCH }}-python-pip + mingw-w64-${{ matrix.MSYS2_ARCH }}-python-jsonschema mingw-w64-${{ matrix.MSYS2_ARCH }}-${{ matrix.TOOLCHAIN }} - name: Install dependencies run: | - python3 -m pip --disable-pip-version-check install gcovr jsonschema pefile pytest pytest-subtests pytest-xdist coverage + python3 -m pip --disable-pip-version-check install gcovr pefile pytest pytest-subtests pytest-xdist coverage - name: Install pypy3 on x86_64 run: | |