Commit Graph

310 Commits

Author SHA1 Message Date
toofar f78a4132d6 june 7th 2024-06-07 19:46:27 +12:00
toofar c5138992c7 june 6th 2024-06-06 19:13:20 +12:00
toofar 7612b89680 june 3rd 2024-06-03 09:10:14 +12:00
toofar d897d23140 june 1st 2024-06-01 17:00:46 +12:00
toofar 88574d5861 may 31st 2024-05-31 18:33:09 +12:00
toofar fa3fc1e6a8 may 30th 2024-05-30 18:31:13 +12:00
toofar daa67280c6 may 29th 2024-05-29 17:31:10 +12:00
toofar 9d4e6c3662 may 28th 2024-05-28 18:30:45 +12:00
toofar 28697e943a may 27th 2024-05-27 17:38:22 +12:00
toofar 10faacff70 go back to hardcoding the worker number in each job
Two issues with putting it as an env var:
* shellcheck (via actionlint) claim it needs to be enclosed in double
  quotes, but it's already in a double quoted string and I can't be
  bothered dealing with yaml quoting
* the windows run doesn't seem to pick it up, maybe env vars don't work
  on windows?

Whatever, we can figure out how to make it nicely over overridable later. I
just want to get a stable branch I can re-run through the week.
2024-05-26 12:22:16 +12:00
toofar 82bb28adf6 Switch to using env var for pytest jobs, skip pylint
When I tried to include a default workers arg at the top level of the
matrix definition all it ended up doing it running a single job with "-n
2" and ignoring the whole include block, weird. Don't really understand
it yet: https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#expanding-or-adding-matrix-configurations

Falling back to putting it in an env var so at least it's only specified
once.

Drop the pylint parallelism because it's complaining that `Value
'config.cache' is unsubscriptable (unsubscriptable-object)` in many
places. Aha, that's why I've been seeing that locally and not on CI!
2024-05-26 12:08:00 +12:00
toofar da0e86aa1f try running tests with two workers
From https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#standard-github-hosted-runners-for-public-repositories
runners have 4 cores (apart from macos-11).

We could use `-n auto`, but I hypothesis that for the e2e tests since we
have one worker process per test process maybe we don't want to actually
use up all the cores with test processes? It doesn't look like it's
possible to tell pytest-xdist to use all core but one, or half the
cores, or anything (issue
herehttps://github.com/pytest-dev/pytest-xdist/issues/477).
So lets just set it to 2 for now which should be a lot faster than 1, if
it works.
2024-05-26 11:51:09 +12: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
toofar 3f1842b729 Update requirements and CI for PyQt6.7
6.7 is released now, some distros are already shipping it!

This commit:
1. adds a new 6.7 requirements file (the plain 6 one has already been
   updated by the bot)
2. adds a new tox env referring to the new requirements file
3. updates the mac and windows installer jobs to run with pyqt67 with the
   assumption we'll be including that in our next release
4. adds two new CI environments for 6.7, one each for python 3.11 and 3.12
   (3.12 only came out like 6 months ago)
5. updates a couple of references to the py37 tox env that looked like they
   were missed, 3.7 support was dropped in 93c7fdd
6. updates various ubuntu containers to the latest LTS instead of the previous
   related one - this is quite unrelated to this change but I thought I would
   give it a go, no need to use the old one unless we are specifically testing
   on it?
   - linters - they use tox but probably use system libraries
   - these all run in nested containers anyway, should be fully isolated
   - codeql - eh, uses a third party action, check the docs if it fails
   - irc - as above
2024-05-24 17:08:56 +02:00
toofar 0a541983c3 Pin eslint for now until we support v9+
See https://github.com/qutebrowser/qutebrowser/issues/8159
2024-04-06 18:30:25 +13:00
dependabot[bot] 201a533b4d
build(deps): bump softprops/action-gh-release from 1 to 2
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 1 to 2.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/v1...v2)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-11 18:29:51 +00:00
toofar 42cf53ae7c ci: don't fail all docker builds if one fails
Currently the unstable docker images are failing to build
(undefined symbol: _ZN5QFont11tagToStringEj, version
Qt_6. Looks like Qt has upgraded to 6.7 but pyqt6 hasn't been patched to
remove some symbols that are gone now).

But we might as well let the stable ones rebuild right?
2024-02-25 16:52:32 +13:00
toofar 5687177d4d ci: fix --debug patching on all platforms (for real?)
It seems `sed -i` is not very portable. Initially we were using this
command:

    sed -i '' '/.-d., .--debug.,/s/$/ default=True,/' qutebrowser/qutebrowser.py

and then that started breaking on windows, I'm not sure why, with "can't
read /.-d., .--debug.,/s/$/ default=True,/: No such file or directory".
Then we changed to:

    sed -i '/.-d., .--debug.,/s/$/ default=True,/' qutebrowser/qutebrowser.py

so without the extension argument, but that broke on mac with "1:
"qutebrowser/qutebrowser.py": extra characters at the end of q command"

then we tried:

    sed -i'' '/.-d., .--debug.,/s/$/ default=True,/' qutebrowser/qutebrowser.py

and that also broke on mac with the same error. On the recommendation of
stackoverflow I just changed it no not use in-place editing and do a
good old fashioned move afterwards. https://unix.stackexchange.com/questions/92895/how-can-i-achieve-portability-with-sed-i-in-place-editing

... record scratch ...

Apparently these GHA steps are being run in powershell in windows where
`mv` is implemented by `Move-Item` where you have to use -Force to
overwrite destination files.

But that's not portable. cp does happily overwrite without any
additional instruction though. So I'm doing cp instead of mv and then
removing the temp file.

Probably if this drags out anymore we should download something off of
pypi which is platform independent to handle it.
2024-02-25 16:30:27 +13:00
Florian Bruhin da2c7ee7cd ci: Try more sed cross-platform madness 2024-02-13 16:44:03 +01:00
dependabot[bot] 5f8423f9d3
build(deps): bump peter-evans/create-pull-request from 5 to 6
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5 to 6.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v5...v6)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 18:47:44 +00:00
Florian Bruhin c12340802d ci: Remove weird sed usage
Broke on Windows nightly builds for some reason
2024-02-02 11:06:04 +01:00
dependabot[bot] 238c97f71e
build(deps): bump actions/cache from 3 to 4
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 18:56:48 +00:00
toofar 04af4c657d
Merge pull request #8042 from qutebrowser/dependabot/github_actions/actions/upload-artifact-4
build(deps): bump actions/upload-artifact from 3 to 4
2023-12-21 11:42:39 +13:00
dependabot[bot] b84ae4053c
build(deps): bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 18:32:17 +00:00
dependabot[bot] 4c431fd22d
build(deps): bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 18:32:14 +00:00
dependabot[bot] 3d9bf9651f
build(deps): bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 18:33:46 +00:00
Florian Bruhin 4928153227 Upgrade release Python to 3.12 2023-12-08 15:44:18 +01:00
toofar dc072a7825 Allow running nightly builds on any branch
The nightly jobs have a `workflow_dispatch` action, which means you can
kick the job off on any branch. But the build steps has the branch to
build on hardcoded. I would like to be able to build windows and mac
builds without having a local build environment setup.

The docs for the checkout action says it default to the main branch,
so the scheduled actions should keep working fine. But now we'll be able
to create builds off of other branches too.
docs: https://github.com/actions/checkout#usage

ref: https://github.com/qutebrowser/qutebrowser/issues/7989
2023-11-15 20:36:41 +13:00
toofar 4227aba7ba Update mac and windows CI to target for next release
It looks like our last release builds were done with python 3.11 and
PyQt 6.5.3. I'm expecting that since PyQt6.6 is out now our next release
will be on 6.6. So lets update the CI to match.

Questions:
* what about python12? I don't think there is a benefit to updating to
  that, so lets leave it.
* what about pyqt6.5? Do we care about testing that? Maybe for homebrew
  users? We aren't providing new builds with an old Qt right?

last release builds: https://github.com/qutebrowser/qutebrowser/actions/runs/6578864884

ref: https://github.com/qutebrowser/qutebrowser/issues/7989
2023-11-15 20:36:41 +13:00
toofar 1683b74aba bump py311 and py12 tests to use pyqt6.6
I'm not sure if we need a py3.11 pyqt6.5 variant or a py3.10 pyqt6.6
one? Those might well be combinations that people have (debian has 3.11
and 6.5 at the moment) but how much coverage do we need?

ref: https://github.com/qutebrowser/qutebrowser/issues/7989
2023-11-15 20:36:41 +13:00
toofar b4215d31b3 py3.12 is released now
ref: https://github.com/qutebrowser/qutebrowser/issues/7989
2023-11-15 20:36:41 +13:00
dependabot[bot] a55f5332f9
build(deps): bump actions/github-script from 6 to 7
Bumps [actions/github-script](https://github.com/actions/github-script) from 6 to 7.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 18:07:46 +00:00
dependabot[bot] f53933b329
build(deps): bump actions/setup-node from 3 to 4
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 18:49:54 +00:00
Florian Bruhin 4f549669bc Revert "Use different PyPI token tempoarily"
This reverts commit 597873286c.
2023-10-19 19:58:42 +02:00
dependabot[bot] 363c8a7e5c
build(deps): bump docker/login-action from 2 to 3
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-20 12:45:29 +00:00
Florian Bruhin 59552ce75f
Merge pull request #7922 from qutebrowser/dependabot/github_actions/docker/build-push-action-5
build(deps): bump docker/build-push-action from 4 to 5
2023-09-20 14:34:37 +02:00
dependabot[bot] 385f8b2f7c
build(deps): bump docker/setup-buildx-action from 2 to 3
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 18:26:10 +00:00
dependabot[bot] 839a1ee8f4
build(deps): bump docker/build-push-action from 4 to 5
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 18:26:05 +00:00
dependabot[bot] 37172cf9cc
build(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 18:36:00 +00:00
Florian Bruhin 07e1376e64 ci: Fix changelog URL for releases 2023-08-18 18:19:21 +02:00
Florian Bruhin 597873286c Use different PyPI token tempoarily
See https://github.com/pypi/support/issues/3111
2023-08-18 16:14:27 +02:00
Florian Bruhin 8795b88d35 ci: Fix JS style issues 2023-08-17 14:51:53 +02:00
Florian Bruhin 9dfe641263 ci: Switch from experimental to real releases 2023-08-17 14:47:49 +02:00
Florian Bruhin 60eb849fad ci: Check for open milestone before release 2023-08-17 12:42:21 +02:00
Florian Bruhin bcbfc2b68c ci: Add IRC notification for main channel
Releases are probably important enough
2023-08-17 12:42:21 +02:00
Florian Bruhin 67ae39561a ci: Use -x for cherry picks 2023-08-17 12:42:21 +02:00
Florian Bruhin fa74860417 ci: Use earlier release ID 2023-08-17 12:42:21 +02:00
Florian Bruhin c10cda7d4a ci: Use github script to update release
See https://github.com/softprops/action-gh-release/issues/163
2023-08-17 12:42:21 +02:00
Florian Bruhin a59bf7bc5b ci: Set twine PyPI token 2023-08-17 12:39:00 +02:00
Florian Bruhin ab820fe8a0 ci: Set up asciidoc properly for releases 2023-08-17 12:39:00 +02:00