Commit Graph

48 Commits

Author SHA1 Message Date
Florian Bruhin c5fe31e828 docker: Add link 2025-05-06 14:06:10 +02:00
Florian Bruhin 9aef02e96c docker: Don't install libxml2.13 for webkit 2025-05-06 10:28:17 +02:00
Florian Bruhin 06e7950588 docker: Always install base-devel 2025-05-06 09:18:07 +02:00
Florian Bruhin 1b7557b73b docker: Don't run makepkg as root 2025-05-06 09:15:27 +02:00
Florian Bruhin 5e6a878f64 docker: Also downgrade libarchive for QtWebEngine 2025-05-06 09:12:23 +02:00
Florian Bruhin a3bdcca37b docker: Install libxml2.13 2025-05-06 09:11:20 +02:00
Florian Bruhin 237e90985d docker: Downgrade libxslt
ImportError: /usr/lib/libxslt.so.1: undefined symbol: xmlCtxtParseDocument
2025-03-15 12:25:43 +01:00
Florian Bruhin c598cbbc71 Revert "ci: Avoid Archlinux' pyqt6 6.1.7-3 which lacks QSignalSpy"
This reverts commit 27e446d26d.
Archlinux now uses a PyQt 6.8 development snapshot.
2024-10-15 00:47:31 +02:00
Florian Bruhin 27e446d26d ci: Avoid Archlinux' pyqt6 6.1.7-3 which lacks QSignalSpy
See https://github.com/qutebrowser/qutebrowser/issues/8242#issuecomment-2409077518
2024-10-13 20:28:43 +02:00
Florian Bruhin 4d2361288d ci: Fix pip/python usage for QtWebKit
I'm sure I tested this locally before pushing
b241b0360b but now it's broken?

This seems to fix things now. See #8247.
2024-06-29 21:59:43 +02:00
Florian Bruhin b241b0360b ci: Install a newer Python 3.10 for QtWebKit image
Starting with the upgrade to Hypothesis 6.103.4 we got hangs when pytest exits.
This is caused by:

https://github.com/HypothesisWorks/hypothesis/pull/4013

combined with:

https://github.com/python/cpython/issues/102126

which was fixed in Python 3.10.11, but the latest 3.10 packaged by Archlinux was
3.10.10.

Thus, we instead build a newer 3.10 from the AUR.
This bumps the build time up to about 20 minutes on my machine, which is
probably acceptable since those are nightly builds only anyways. We could
probably half that by disabling --enable-optimization, but that would be at the
cost of making the actual test runs (which run more often) slower.

Closes #8247
2024-06-29 20:47:59 +02:00
Florian Bruhin dfae071aed ci: Try installing OpenSSL 1.1 for Qt 5 docker
Only OpenSSL 3 is installed currently, and for some reason, Qt 5 started failing in CI complaining that it only found OpenSSL 3 and not 1.1...
2024-06-20 17:52:10 +02:00
Florian Bruhin 6fd66619ba Switch to new Archlinux testing layout
should fix Docker package generation and maybe nightly builds
2024-06-20 11:10:34 +02:00
toofar 22370b457f Install recent pdf.js in some CI jobs
This installs pdf.js in a selection of CI jobs. Previously the PDF.js
tests (in qutescheme.feature) were skipped in CI because it wasn't
installed anywhere. There has been a couple of recent cases where pdf.js
started depending on javascript features that are too new for even the
most recent QtWebEngine to support. The aim of this commit is to catch
that case. This doesn't add coverage for older webengine releases.

This also incidentally updates the ace editor in these test jobs, since that is
also updated by default by the update_3rdparty script. Hopefully that
doesn't cause issues.

The reasoning for installing on each type of job:

*ubuntu jobs*: not installed - while our main test runs are on ubuntu
  there is an upstream issue where many assets used by pdf.js (like icons
  used in the toolbar) aren't packaged, see #7904. This causes warning
  messages because assets requested via qutescheme can't be found, which
  causes the tests to fail. We could a) install pdf.js from source instead
  of using the ubuntu one b) ignore the warning logs c) skip this
  environment and rely on tests elsewhere. I've chosen to do (c). I don't
  see a huge benefit in testing pdf.js across multiple environments if we
  aren't using it installed from the OS anyway. We could install from
  source but currently all the Qt < 6.5 tests are failing from some other
  JS error, and I think fixing that is out of scope of this issue.

*docker Qt6*: installed - the archlinux pdfjs package works fine and we are
  only testing the most recent Qt versions because arch users are expected
  to stay up to date.

*docker Qt5*: not installed - doesn't support JS features required by
  PDF.js. I guess we could install the legacy build from source here. I'm
  mostly worried about catching new breakages for this commit though

*windows*: installed - we install pdf.js from source when making a
  release so it would be nice to do that in tests too.

*macos*: not installed - the tests that were catching the breakages are
  end2end tests which we don't run on mac. And I think there was an
  error from the :versions tests here, don't remember.

*bleeding edge*: installed - from source

pdf.js tests fail on Qt < 6.5 with `Uncaught TypeError: Cannot read
properties of null (reading 'mainContainer')`

The `TestPDFJSVersion.test_real_file` unit tests currently fails because
`version._pdfjs_version()` returns `unknown (bundled)`, not sure why. I
think this is pre-existing and it also wasn't being run on CI.
2024-05-25 09:41:44 +12:00
Florian Bruhin 47c786484b docker: Downgrade more Qt for QtWebKit 2023-10-17 17:05:34 +02:00
Florian Bruhin a794c87e9b tox: Make -qt5 explicit for docker builds
Not needed on CI for a reason I don't quite understand, but needed locally for things to run.
2023-10-17 16:01:36 +02:00
Florian Bruhin 9d9f892ded docker: Also downgrade qt5-translations for WebKit 2023-10-17 16:01:36 +02:00
Florian Bruhin fcc6062e5b docker: Also downgrade qt5-declarative 2023-10-10 09:12:48 +02:00
Florian Bruhin a196344742 ci: Use proper image for Qt 6 bleeding tests 2023-08-15 19:31:36 +02:00
Florian Bruhin aea803cffa docker: Install xcb-utils-cursor on Arch for Qt 6 2023-08-15 19:11:49 +02:00
Florian Bruhin ee2c8c649c ci: Keep WebKit on life support for longer 2023-07-03 17:40:37 +02:00
Florian Bruhin c247634066 ci: Fix broken Docker condition 2023-05-31 12:56:33 +02:00
Florian Bruhin d7d1293569 ci: Fix pip installs for docker 2023-05-31 12:18:57 +02:00
Florian Bruhin 839c8b6fe9 ci: Keep QtWebKit on life support, part 2
Since Archlinux upgraded to Python 3.11, we need to downgrade Python
to 3.10 too, and install tox via pip instead.

This starts becoming somewhat questionable, but if this approach still
does indeed work, let's go for it.
2023-05-31 11:22:14 +02:00
toofar f68798a081 ci: attempt to make the qt6 docker run work
On CI were were getting "Could not import sip" because link_pyqt was
looking for PyQt5.sip.
I made that look at QUTE_QT_WRAPPER since that's being set already on
tox.ini
There are probably a few other changes around link_pyqt and the makefile
etc we need to change when we switch the default wrapper.

I overrode the default `py` tox environment with py-qt6 to override
those wrapper related variables. I probably could have done something
sneaky with curly braces to make it so we don't have to add a few more
lines to the file. But in my opinion in config file is far to obfuscated
and hard to maintain already.

I changed the docker file to call the new py-qt6 env if it's a qt6
container. I'm not 100% sure that is required though since there is also
a tox invocation in the GH action definition, maybe that overrides the
container entrypoint? Also changed the indentation in the dockerfile
template a bit to make it easier to see where the conditionals start and
end.

Speaking of which I changed the matrix definition and tox invocation to
match a later one to hopefully make it so we can invoke different tox
environments in the containers without having to rebuild the containers.
Not sure I did that right, I'll see soon.

I added the unstable-qt6 container generation line so we can use it in
the future, and to match the not-qt6 one. I'm not switching to that in
CI though because the pyqt used by that is broken at the moment
(ref https://www.riverbankcomputing.com/pipermail/pyqt/2023-March/045214.html)

Also fixed the vim modeline in generate.py so my syntax highlighting
works.
2023-03-18 17:29:25 +13:00
Florian Bruhin 4793070db3 Merge branch 'qt6-v2' into master-qt6 2023-03-17 20:30:13 +01:00
Florian Bruhin 253789d8c0 Revert "bleeding tests: Downgrade broken mesa"
This reverts commit 3f5febf227.

ec144824e8
Fixes #7509
2022-12-15 14:44:35 +01:00
Florian Bruhin 78f7784331 docker: Init archlinux keyring 2022-12-15 08:20:07 +01:00
Florian Bruhin cdef889b4c docker: Make sure to upgrade archlinux-keyring first 2022-12-15 08:16:16 +01:00
Florian Bruhin b4d32e04f4 Merge branch 'master' into qt6-v2 2022-12-13 09:05:32 +01:00
Florian Bruhin 3f5febf227 bleeding tests: Downgrade broken mesa
See https://archlinux.org/packages/extra/x86_64/mesa/download/
2022-12-06 10:38:53 +01:00
toofar ca667d6429 Fixup dockerfile template for qt6 configurations
The merge resolution I did in 2d66466194 was a bit hasty. Hopefully
all supported configurations should work now.
2022-11-20 16:15:06 +13:00
toofar 2d66466194 Merge branch 'master' into qt6-v2
Just a few conflicts around CI and dependencies.
2022-11-20 15:48:00 +13:00
Florian Bruhin a03109dad2 ci: Fix docker build and add sanity check 2022-11-16 09:42:19 +01:00
Florian Bruhin f0489cb6a5 ci: Keep QtWebKit on live support a bit longer
See #7478, #4039
2022-11-16 09:28:38 +01:00
Florian Bruhin 0cd682afbd Revert "ci: Drop QtWebKit"
This reverts commit 00ee3fad34.
2022-11-16 09:10:42 +01:00
Florian Bruhin 00ee3fad34 ci: Drop QtWebKit
See #7478, #4039
2022-11-14 21:24:03 +01:00
Florian Bruhin 0cf7453fc3 ci: Prepare Qt 6 dockerfiles 2022-08-23 18:31:41 +02:00
Florian Bruhin 108062d84d docker: Also enable community-testing for archlinux-unstable 2021-03-22 11:56:57 +01:00
Florian Bruhin 76b03db20e Revert "ci: Add workaround for Archlinux/Docker issue"
This reverts commit 478e4de7bd.
Fixed according to https://github.com/actions/virtual-environments/issues/2658
2021-03-08 14:04:56 +01:00
Florian Bruhin 30d54c8da4 Revert "ci: Use different workaround for Archlinux docker"
This reverts commit 545e37b913.
Doesn't actually seem to work...
2021-02-18 10:15:43 +01:00
Florian Bruhin 545e37b913 ci: Use different workaround for Archlinux docker 2021-02-16 11:24:40 +01:00
Florian Bruhin 8ba1a28fa5 Revert "Revert "ci: Add workaround for Archlinux/Docker issue""
This reverts commit 8fccc17bd8.
Still broken unfortunately (probably on GitHub's side)...
2021-02-15 14:24:27 +01:00
Florian Bruhin 8fccc17bd8 Revert "ci: Add workaround for Archlinux/Docker issue"
This reverts commit 478e4de7bd.
Maybe not needed anymore after https://bugs.archlinux.org/task/69563#comment196734
2021-02-15 14:22:18 +01:00
Florian Bruhin 478e4de7bd ci: Add workaround for Archlinux/Docker issue
See https://github.com/actions/virtual-environments/issues/2658
Thanks to https://github.com/lxqt/lxqt-panel/pull/1562
2021-02-10 19:58:04 +01:00
Florian Bruhin 282b2b99e8 docker: Base on official Archlinux image 2021-01-04 11:58:31 +01:00
Florian Bruhin df7e0553d8 ci: Use installed Python version in Dockerfile
Archlinux upgrading from Python 3.8 to 3.9 broke the build - let's just
use whatever is in $PATH instead.
2020-12-03 10:51:46 +01:00
Florian Bruhin ec93c0458c Integrate docker rebuild workflow 2020-11-25 19:49:25 +01:00