Commit Graph

468 Commits

Author SHA1 Message Date
Illia Volochii 2cedd25c14
Revert "gh-116886: Temporarily disable CIfuzz (memory) (GH-117018)" (GH-117289)
This reverts commit 1ab0d0b116.

This reverts #117018.

I expect the issue to be fixed based on https://github.com/google/oss-fuzz/pull/11708#issuecomment-2006442396 and https://github.com/actions/runner-images/issues/9491.
2024-03-27 23:46:01 -07:00
Jason R. Coombs 8ad8898420
gh-117089: Move importlib.metadata tests to their own package (#117092)
* Ensure importlib.metadata tests do not leak references in sys.modules.

* Move importlib.metadata tests to their own package for easier syncing with importlib_metadata.

* Update owners and makefile for new directories.

* Add blurb
2024-03-20 17:11:00 -04:00
Łukasz Langa 1ab0d0b116
gh-116886: Temporarily disable CIfuzz (memory) (#117018) 2024-03-19 21:06:06 +02:00
Erlend E. Aasland 43c9d6196a
CI: Pass environment variables directly to configure in JIT CI (#116156)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-03-18 10:49:45 +01:00
Hugo van Kemenade 3a99f5c5f3
Bump GitHub Actions (#116944) 2024-03-18 10:44:15 +02:00
Hugo van Kemenade 259dbc448d
CI: Process stale issues four times per day (#116857) 2024-03-16 11:59:42 -06:00
Donghee Na 20578a1f68
gh-112536: Add TSAN builds on Github Actions (#116872) 2024-03-16 11:10:37 +01:00
Hugo van Kemenade 415cd06d72
CI: Only test free-threading with faster macOS M1 (#116814)
Only test free-threading with faster macOS M1
2024-03-14 15:10:56 +00:00
Brett Cannon 3a25d9c5a9
GH-114736: Use WASI SDK 21 (GH-116771) 2024-03-14 01:45:33 +00:00
Hugo van Kemenade bb66600558
CI: Process stale issues twice per day (#116636) 2024-03-12 19:49:26 +02:00
Brett Cannon 05070f40bb
GH-115976: Add WASI to CI (GH-116516)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-03-11 11:59:09 -07:00
Brandt Bucher ffed8d985b
GH-116134: JIT aarch64-pc-windows-msvc (GH-116130) 2024-03-04 10:16:56 -08:00
Seth Michael Larson 45d8871dc4
gh-112844: Add SBOM for external dependencies (#115789) 2024-02-29 17:38:04 +02:00
Erlend E. Aasland 4d1d35b906
gh-116075: Skip test_external_inspection on qemu in JIT CI (#116076) 2024-02-28 23:16:01 +00:00
Jelle Zijlstra 02beb9f020
gh-116026: Try disabling rebuilds of dependents in Homebrew (#116027) 2024-02-27 21:35:25 -08:00
Guido van Rossum c0fdfba7ff
Rename tier 2 redundancy eliminator to optimizer (#115888)
The original name is just too much of a mouthful.
2024-02-26 08:42:53 -08:00
Jason R. Coombs 5a83292213
Add Jason as an owner of configparser to coordinate backport concerns. (#115885)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-02-26 17:11:38 +01:00
Seth Michael Larson c6a47de709
gh-115663: Remove 'regen-sbom' from the 'regen-all' target (#115790) 2024-02-22 15:42:26 +02:00
Ken Jin ed23839dc5
Trigger JIT CI with optimizer files (#115483)
* Trigger JIT CI with optimizer files
2024-02-15 14:01:24 +08:00
Ken Jin d9f4cbe5e1
Add myself to various CODEOWNERS (GH-115481) 2024-02-15 03:48:11 +08:00
Sam Gross 4deb70590e
gh-115383: Use runner version to compute config.cache key (#115409) 2024-02-13 12:35:06 -07:00
Ned Deily 299e16ca0f
gh-109991: Update GitHub CI workflows to use OpenSSL 3.0.13. (#115050)
Also update multissltests to use 1.1.1w, 3.0.13, 3.1.5, and 3.2.1.
2024-02-05 21:10:11 -05:00
Nikita Sobolev 1aec064444
GH-114849: Set a 60-minute timeout for JIT CI jobs (GH-114850) 2024-02-01 17:44:01 -08:00
dependabot[bot] d4c5ec24c2
build(deps): bump actions/cache from 3 to 4 (#114856)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 12:49:07 +02:00
Hugo van Kemenade 854e2bc423
CI: Test on macOS M1 (#114766)
Test on macOS M1
2024-01-31 17:35:48 -08:00
Nikita Sobolev b25b7462d5
gh-114788: Do not run JIT workflow on unrelated changes (#114789)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-01-31 12:51:18 -07:00
Nikita Sobolev 1c2ea8b33c
gh-114790: Do not execute `workflows/require-pr-label.yml` on forks (#114791)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-01-31 13:32:27 +02:00
Alex Waygood 25ce7f872d
Remove Alex Waygood as an Argument Clinic CODEOWNER (#114796) 2024-01-31 11:28:23 +00:00
Brandt Bucher 348a72ce3f
GH-113464: Add aarch64-apple-darwin/clang to JIT CI (GH-114759) 2024-01-30 14:08:53 -08:00
Brandt Bucher 742ba6081c
GH-113464: Make Brandt a codeowner for JIT stuff (GH-114739) 2024-01-29 16:29:54 -08:00
Brandt Bucher f6d9e5926b
GH-113464: Add a JIT backend for tier 2 (GH-113465)
Add an option (--enable-experimental-jit for configure-based builds
or --experimental-jit for PCbuild-based ones) to build an
*experimental* just-in-time compiler, based on copy-and-patch (https://fredrikbk.com/publications/copy-and-patch.pdf).

See Tools/jit/README.md for more information on how to install the required build-time tooling.
2024-01-28 18:48:48 -08:00
Eric Snow df17b52643
Add More Entries to CODEOWNERS (#114617) 2024-01-26 11:33:02 -07:00
Donghee Na 841eacd076
Add CODEOWNERS for dbm (gh-114555) 2024-01-26 05:49:37 +09:00
Gregory P. Smith 5725523695
Add me to codeowners for hashlib & multiprocessing (#114454)
I already effectively own these. (multiprocessing reluctantly, but I've
spent enough time in the code of late, it is important, and and
championing some changes, so I may as well be looped in there).
2024-01-22 23:55:12 +00:00
Steve Dower f56d132deb
gh-112984 Update Windows build and installer for free-threaded builds (GH-113129) 2024-01-17 21:52:23 +00:00
Petr Viktorin ac44ec6206
gh-113858: GH Actions: Limit max ccache size for the asan build (GH-114113) 2024-01-16 14:21:16 +01:00
Petr Viktorin fcb4c8d31a
gh-113858: Cut down ccache size (GH-113945)
Cut down ccache size

- Only save the ccache in the main reusable builds, not on builds that
  don't use special build options:
  - Generated files check
  - OpenSSL tests
  - Hypothesis tests
- Halve the max cache size, to 200M
2024-01-12 10:48:25 +01:00
Petr Viktorin 5d384b0468
GH-113858: GitHub Actions config: Only save ccache on pushes (GH-113859) 2024-01-10 09:49:18 +01:00
dependabot[bot] fff1e8a50b
build(deps): bump actions/upload-artifact from 3 to 4 (#113614)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 18:20:17 +02:00
dependabot[bot] ce7a8eef79
build(deps): bump actions/stale from 8 to 9 (#113611)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 18:19:01 +02:00
Donghee Na 3aadb95085
no-issue: Use the official term "free-threading" for GitHub Action (gh-113622) 2024-01-02 09:16:53 +09:00
dependabot[bot] 9132f4287b
build(deps): bump github/codeql-action from 2 to 3 (#113613)
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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 09:30:30 +00:00
dependabot[bot] 686d65aec1
build(deps): bump actions/setup-python from 4 to 5 (#113612)
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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 09:25:58 +00:00
Alex Waygood 0d74e9683b
Add codeowners for `Lib/ensurepip/` (#112805) 2023-12-24 11:09:50 +00:00
Eric Snow 480b4b359d
gh-76785: Fix CODEOWNERS (gh-113038)
In gh-112982 I made some changes to .github/CODEOWNERS.  Later, @ezio-melotti pointed out that some of those changes were unnecessary.
2023-12-13 09:29:40 -07:00
Steve Dower 79dad03747
gh-111650: Ensure pyconfig.h includes Py_GIL_DISABLED on Windows (GH-112778) 2023-12-13 15:38:45 +00:00
Eric Snow 86a77f4e1a
gh-76785: Fixes for test.support.interpreters (gh-112982)
This involves a number of changes for PEP 734.
2023-12-12 08:24:31 -07:00
Gregory P. Smith 10e9bb13b8
gh-112334: Regression test that vfork is used when expected. (#112734)
Regression test that vfork is used when expected by subprocess.

This is written integration test style, it uses strace if it is present and appears to work to find out what system call actually gets used in different scenarios.

Test coverage is added for the default behavior and that of each of the specific arguments that must disable the use of vfork.  obviously not an entire test matrix, but it covers the most important aspects.

If there are ever issues with this test being flaky or failing on new platforms, rather than try and adapt it for all possible platforms, feel free to narrow the range it gets tested on when appropriate. That is not likely to reduce coverage.
2023-12-09 00:18:35 +00:00
Seth Michael Larson 21221c398f
gh-112302: Add Software Bill-of-Materials (SBOM) tracking for dependencies (#112303) 2023-12-07 18:01:58 +02:00
dependabot[bot] f21e2f4b12
build(deps): bump actions/github-script from 6 to 7 (#112584)
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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 11:41:09 +01:00
Alex Waygood 674c288b1c
gh-109413: Run mypy on `libregrtest` in CI (#112558)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-11-30 23:00:14 +00:00
Itamar Oren 48dfd74a9d
GH-112245: Promote free threaded CI (#112246) 2023-11-28 08:45:03 -07:00
Alex Waygood b414497993
Fix syntax in CODEOWNERS file (#112210) 2023-11-17 18:31:45 +00:00
Guido van Rossum 25538c72d1
Tweak my interests (and Mark Shannon's :-) in CODEOWNERS (#112206) 2023-11-17 16:44:51 +00:00
Victor Stinner d9fd33a869
gh-112088: Run autoreconf in GHA check_generated_files (#112090)
The "Check if generated files are up to date" job of GitHub Actions
now runs the "autoreconf -ivf -Werror" command instead of the "make
regen-configure" command to avoid depending on the external quay.io
server.

Add Tools/build/regen-configure.sh script to regenerate the configure
with an Ubuntu container image. The
"quay.io/tiran/cpython_autoconf:271" container image
(https://github.com/tiran/cpython_autoconf) is no longer used.
2023-11-15 21:47:14 +01:00
Hugo van Kemenade 5add7a6724
CI: Make macOS Intel required to succeed (GH-110362) 2023-11-03 16:13:15 +01:00
dependabot[bot] 330392e288
build(deps): bump actions/setup-node from 3 to 4 (#111594)
* 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>

* Bump to Node.js 20

Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2023-11-02 11:49:01 +01:00
Hugo van Kemenade 52a5b5d276
gh-111062: CI: Rename reusable-build-[X].yml to reusable-[X].yml (#111552) 2023-10-31 15:55:17 +00:00
Hugo van Kemenade 173d13bb1f
gh-111062 CI: Update skip lists for resuable workflows (#111521)
CI: Update skip lists
2023-10-31 07:49:15 +02:00
Ken Jin 804a207c16
Remove myself from typing CODEOWNERS (#111523) 2023-10-30 21:08:26 +00:00
Donghee Na 4ebf2fae96
gh-111062: Reusable Windows build that supports free-threaded mode as the conditional CI (#111493)
* gh-111062 Set up free-threaded CI for windows

Co-authored-by: Donghee Na <donghee.na@python.org>

* Apply suggestions from code review

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>

* Update

* Update names

* Add files

* Update

* Revert "Update"

This reverts commit 4f17e1af0d.

* fix

---------

Co-authored-by: juanjose.tenorio <juanjose2611@gmail.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-10-31 00:30:40 +09:00
Donghee Na c6def360d1
gh-111062: Update name of reusable workflows for Ubuntu / macOS (gh-111494)
gh-111062 Update name of reusable workflows for linux / macOS
2023-10-30 15:15:22 +00:00
NCLI c19561b9ca
gh-111062: Reusable ubuntu build that supports free-threaded mode as the conditional CI (#111452)
Co-authored-by: Donghee Na <donghee.na92@gmail.com>
2023-10-30 16:28:16 +02:00
Dima Tisnek 14ab5e51c1
gh-111062: Build both default and free-threaded on macOS (gh-111449) 2023-10-29 07:20:11 +00:00
Dima Tisnek 3ac9851d69
gh-111062: Separate macOS build into a reusable workflow (gh-111444) 2023-10-29 06:12:16 +00:00
Hugo van Kemenade 9d4a1a480b
CI: Include Python version in cache.config key (#111410)
* Include Python version in cache.config key, after Python setup

* Remove EOL 3.7 from branch triggers
2023-10-28 10:23:47 +03:00
Ned Batchelder c9aef19cbf
add 3.13 as an option on the bug form (#111083) 2023-10-19 17:52:56 +01:00
Nikita Sobolev 46462ff929
gh-107652: Fix CIFuzz typo (#110602) 2023-10-10 09:34:48 +00:00
Alex Waygood 7b2764e798
gh-110558: Run ruff on Argument Clinic in CI (#110559) 2023-10-10 07:52:39 +00:00
Nikita Sobolev def7ea5cec
Fix CIFuzz build (#110576) 2023-10-10 00:44:57 -06:00
Illia Volochii ea7b53ff67
gh-107652: Set up CIFuzz to run fuzz targets continuously (#107653)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-10-09 09:30:10 -06:00
Victor Stinner e260087a8e
gh-108716: make regen-global-objects no longer builds deepfreeze.c (#110078)
Remove more references to now unused Python/deepfreeze/deepfreeze.c.
2023-09-29 10:17:49 +00:00
Ned Deily c88037d137
gh-109991: Update GitHub CI workflows to use OpenSSL 3.0.11 and multissltests to use 1.1.1w, 3.0.11, and 3.1.3. (gh-110002) 2023-09-28 00:45:13 -04:00
Victor Stinner 859618c8cd
gh-109566, regrtest: Add --fast-ci and --slow-ci options (#109570)
* Add --fast-ci and --slow-ci options to libregrtest:

  * --fast-ci uses a default timeout of 10 minutes and "-u all,-cpu"
    (skip slowest tests).
  * --slow-ci uses a default timeout of 20 minues and "-u all" (run
    all tests).

* regrtest header now lists test resources.
* Makefile changes:

  * "make test", "make hostrunnertest" and "make coverage-report" now
    use --fast-ci option and TESTTIMEOUT variable.
  * "make buildbottest" now uses "--slow-ci". Remove options which
    became redundant with "--slow-ci".
  * "make testall" and "make testuniversal" now use --slow-ci option
    and TESTTIMEOUT variable.
  * "make testall" now uses "find -exec rm ..." instead of
    "find ... -print|xargs rm ...", same as "make clean".

* GitHub Actions workflow:

  * Ubuntu and Address Sanitizer jobs now use "make test". Remove
    options which became redundant with "--fast-ci".
  * Windows jobs now use --fast-ci option.
  * Use -j0 to detect the number of CPUs.

* Set Makefile TESTTIMEOUT default to an empty string, since
  --slow-ci and --fast-ci use different default timeout. It's now
  accepted to pass "--timeout=" to regrtest: treated as not timeout.
* Tools/scripts/run_tests.py now uses --fast-ci option.
* Tools/buildbot/test.bat now uses --slow-ci option. Remove
  --timeout=1200 option, redundant with --slow-ci.
2023-09-26 17:22:50 +02:00
Adam Turner 712cb173f8
GH-109209: Bump the minimum Sphinx version to 4.2 (#109210) 2023-09-21 09:06:36 +03:00
Hugo van Kemenade 14cdefa667
gh-109408: Move Windows builds from Azure Pipelines PR to GitHub Actions (#109569) 2023-09-20 12:56:42 -06:00
Nikita Sobolev f65497fd25
gh-109125: Run mypy on `Tools/wasm` (#109126) 2023-09-18 23:49:26 -06:00
Mariatta 44c8699196
Update workflow permissions in require-pr-label Action (#109342)
Change the permission from `read` to `write`.
2023-09-12 19:03:55 +00:00
Hugo van Kemenade 3cb9a8edca
gh-60283: Check for redefined test names in CI (#109161)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-09-12 15:28:20 +00:00
Brett Cannon 00cf626cd4
Update `CODEOWNERS` for `Tools/wasm/` (#109119) 2023-09-07 23:37:29 -06:00
Alex Waygood 24e989211a
Improve the GitHub issue forms (#108881) 2023-09-05 09:01:30 +01:00
Hugo van Kemenade 572678e1f8
CI: Bump GitHub Actions (#108879) 2023-09-04 22:36:16 +02:00
Nikita Sobolev 6ead5bd6ae
Disable `differing_test_runners` health check (#108886) 2023-09-04 18:31:58 +00:00
Nikita Sobolev cf7ba83eb2
gh-108455: Run `mypy` on `Tools/peg_generator` (#108456)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-08-28 21:04:12 +01:00
Nikita Sobolev be800f4be7
Run `mypy` when `Tools/requirements-dev.txt` changes (#108457) 2023-08-24 22:05:23 +00:00
C.A.M. Gerlach eb953d6e44
gh-101100: Only show GitHub check annotations on changed doc paragraphs (#108065)
* Only show GitHub check annotations on changed doc paragraphs
* Improve check-warnings script arg parsing following Hugo's suggestions
* Factor filtering warnings by modified diffs into helper function
* Build docs on unmerged branch so warning lines match & avoid deep clone

---------

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-08-18 19:43:28 -05:00
Ned Deily ed25f09716
gh-107565: Update multissltests and GitHub CI workflows to use OpenSSL 1.1.1v, 3.0.10, and 3.1.2. (GH-107896) 2023-08-18 15:48:20 -04:00
Dong-hee Na 28cab71f95
gh-104504: Run mypy on cases_generator in CI (and blacken the code) (gh-108090)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-08-18 22:42:45 +09:00
Adam Turner 4cb08188e8
Add workflow for automatic issue headers (#108054)
We don't get the "Bug report" and "Feature or enhancement" titles anymore, with the new issue forms. This brings them back!
2023-08-17 16:37:07 +01:00
Alex Waygood 8891a8821d
Improve the feature-proposal issue form (#108033)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-08-16 19:38:58 +01:00
Hugo van Kemenade 0d7f5d3ba3
Remove Sphinx problem matcher to avoid annotating unchanged files (#108005) 2023-08-16 12:18:56 -06:00
Alex Waygood 8d3cb1bc4b
Convert the GitHub issue templates into GitHub issue forms (#107920)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2023-08-14 22:37:27 +00:00
Hugo van Kemenade 052a0d1106
Remove newlines from bug template (#107525) 2023-08-01 01:47:24 -06:00
Kumar Aditya 2e9ddb943c
add Kumar Aditya as CODEOWNER for import.c (#107441) 2023-07-29 18:26:24 +00:00
Alex Waygood d0dcd27d3a
Improve the GitHub issue templates (#107150)
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2023-07-29 15:42:44 +01:00
Hugo van Kemenade 806d7c98a5
gh-101100: Docs: Check Sphinx warnings and fail if improved (#106460) 2023-07-22 08:12:43 +00:00
Erlend E. Aasland 1654916c48
Add Erlend as CODEOWNER for Argument Clinic docs (#106840) 2023-07-17 22:10:03 +00:00
Jason R. Coombs 03185f0c15
gh-106752: Move zipfile._path into its own package (#106753)
* gh-106752: Move zipfile._path into its own package so it may have supplementary behavior.

* Add blurb
2023-07-14 20:40:46 +00:00
Sviatoslav Sydorenko e7cd55753b
Introduce a gate/check GHA job (#97533)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-07-06 18:06:18 +03:00
Alex Waygood eeb5c63179
Add some codeowners for `Tools/clinic/` (#106430)
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2023-07-04 19:45:32 +00:00