1
0
Commit Graph

59 Commits

Author SHA1 Message Date
Sander van Grieken
4c6421e162 tests: fix CI regtest new path 2024-02-16 17:41:34 +01:00
ghost43
5582b753e5 Merge pull request #8881 from accumulator/qobject_test
add a simple test framework for testing QObjects and their signal/slot mechanism
2024-02-15 14:46:50 +00:00
SomberNight
9a6ec61647 ci: also run unit tests with python 3.12 2024-02-15 14:22:31 +00:00
Sander van Grieken
71dbf76cd0 add new 'qml_gui' extra to setup.py and include it for tox 2024-02-12 11:29:05 +01:00
SomberNight
d63253b30b ci: only run build tasks once per day (or on manual trigger)
related https://github.com/cirruslabs/cirrus-ci-docs/discussions/949
2024-01-16 17:28:08 +00:00
SomberNight
7de45c1325 ci: pin flake8 version
- new version of flake8-bugbear (24.1.16) introduced new tests (B036), which we were failing
- that's fine, but our CI should not suddenly break because of this
- better to do explicit manual version bumps of the linter
2024-01-16 16:31:56 +00:00
Sander van Grieken
e561ce211b cirrus: task timeout 90m 2023-11-07 10:17:10 +01:00
ThomasV
f98602918b Revert "Update .cirrus.yml"
This reverts commit 33ac0b4591.
2023-11-02 19:03:15 +01:00
robertmin2
33ac0b4591 Update .cirrus.yml 2023-10-31 16:57:52 +01:00
JeremyRand
a3d7df48db Cirrus: Mark E722 linter as mandatory (#8668)
These linter warnings were all fixed in
312f2641e7, so making CI enforce them will
reduce the risk of regressions.

Co-authored-by: Jeremy Rand <jeremyrand@danwin1210.de>
2023-10-31 13:52:24 +00:00
ThomasV
8acb5dd7e9 CI: run unit tests in debug mode with python 3.11
Python 3.12 does not work with current aiohttp, see
https://github.com/aio-libs/aiohttp/issues/7229

It is currently possible to build a wheel using aiohttp==3.9.0b0.
However, unit tests fail in that case, because TestLNTransport::test_loop stalls.
2023-10-08 11:43:55 +02:00
SomberNight
43615487de follow-up prev 2023-09-06 16:24:11 +00:00
SomberNight
19718001e4 (trivial) CI: rename tasks 2023-09-06 16:21:18 +00:00
SomberNight
b45c84f24f remove the kivy gui
We now use the qml gui on Android, and haven't been maintaining
the kivy GUI for a while.
2023-08-30 16:47:37 +00:00
SomberNight
111a753dc2 ci: don't run unit tests on pypy
We never really supported pypy - the CI was running the tests there
just to see compatibility.
A few of the unit tests consistently hang, resulting in the whole
test runner timing out and wasting compute resources. Someone could
debug the hangs and try to fix them, but I don't have the time.
2023-08-30 12:46:12 +00:00
SomberNight
5a4b98a066 CI: don't run unit tests on "python:rc", looks like it's unmaintained
The "python:rc" tag on dockerhub has not been updated for 2+ years
and is still at 3.10.0rc2. Even 3.11 has been released for many months now.
see https://hub.docker.com/_/python/tags
2023-08-04 18:18:24 +00:00
SomberNight
1767d26de9 tests: make regtest tests somewhat faster by faster polling in e-x
using 4e66804dc0

on my machine, before-after:
Ran 9 tests in 495.865s
Ran 9 tests in 376.183s
2023-07-14 15:18:36 +00:00
SomberNight
e097a3f875 CI: add some task dependencies
run linter first, then tests, then binary builds
2023-04-24 13:37:01 +00:00
SomberNight
4cbb8399d2 CI: also run flake8-bugbear, as part of flake8 2023-04-24 13:00:12 +00:00
SomberNight
2be71c2dcc windows README: update reference to libsecp256k1-0.dll to incl newer
related: https://github.com/spesmilo/electrum/pull/8185
2023-04-21 16:38:58 +00:00
SomberNight
f5eabaff55 ci: also run unit tests with PYTHONASYNCIODEBUG=1
This can reveal additional asyncio-related bugs,
and due to also enabling the full "debug mode", maybe more.
2023-02-20 16:53:18 +00:00
SomberNight
c4061f143b CI: (trivial) make "Locale" task depend on same py version it uses 2023-01-30 17:36:05 +00:00
SomberNight
4f66afb8a8 refactor locale scripts
follow-up 000a3de571
2023-01-30 17:35:58 +00:00
SomberNight
4aa319e5c3 CI: exclude generated protobuf files from flake8 2023-01-28 00:51:12 +00:00
ghost43
5edd17724f CI: bump available memory for unit tests (1G->2G) (#8166)
Tasks recently started spuriously getting killed with "Container errored with 'OOMKilled'".
Not sure what changed, but this seems like the easiest fix.
2023-01-26 14:47:39 +00:00
SomberNight
1a7634e615 cirrus CI: disable macOS builds, as no more intel-based mac workers
related https://cirrus-ci.org/blog/2022/11/08/sunsetting-intel-macos-instances/
2023-01-02 12:41:22 +00:00
SomberNight
feb75ec9e6 CI: AppImage build is failing with "Container errored with 'OOMKilled'"
"AppImage build" on the CI is failing with "Container errored with 'OOMKilled'" since 65ae281180
https://cirrus-ci.com/task/6506466559918080
https://cirrus-ci.com/task/6518283422662656

Apparently, when running in a Cirrus CI container, `nproc` returns the number of host CPUs,
instead of the number of cpus available to the container.
Opened upstream issue:
https://github.com/cirruslabs/cirrus-ci-docs/issues/1115
2022-12-04 00:11:29 +00:00
SomberNight
4a63ca2e1f CI: only build arm64 qml apk, not both
the qml apk builds take too much time, and no one actually uses the arm32 apk from the CI

see discussion in https://github.com/spesmilo/electrum/pull/8050
2022-11-04 16:16:12 +00:00
SomberNight
4548351ffd CI: rm redundant "populate_script" cache instructions 2022-11-04 15:49:27 +00:00
SomberNight
074ccdd072 CI: cache key should respect gitignore
otherwise when evaluating the cache key for the second cache within same task,
the first cache might side-effect it
2022-11-04 15:49:23 +00:00
SomberNight
54e22105b8 CI: cache more in Windows build 2022-11-04 15:49:19 +00:00
SomberNight
6f311c8930 appimage build: better caching, both locally and on CI 2022-11-04 15:49:16 +00:00
SomberNight
3b03bc9b29 CI: cache built *.dylib on macOS
note: the extra copies in make_osx.sh are needed because of the CI caching
(pyinstaller needs to see the .dylib's inside electrum/, e.g. when importing electrum during Analysis)
2022-11-04 15:49:12 +00:00
SomberNight
4a3bc2f8b9 CI: macOS *still* does not have sha256sum :( 2022-11-04 01:53:49 +00:00
SomberNight
39dbd9492c CI: more aggressive cache invalidation
E.g. if we bump the python version, should not reuse the pip cache.
Easiest to invalidate cache if any build-specific file changes.
2022-11-04 01:51:19 +00:00
SomberNight
f8103163f7 CI: macOS does not have sha256sum 2022-11-04 01:27:40 +00:00
SomberNight
473dd08c04 CI: cache more 2022-11-04 00:49:01 +00:00
SomberNight
19d316f8e2 CI: rm obsolete "electrum_cache"
it's an empty folder.
2022-11-04 00:48:44 +00:00
SomberNight
ee8a20f7b6 CI: rename requirements-travis.txt 2022-11-04 00:48:21 +00:00
SomberNight
7328386413 CI: try to cache android apk builds
and build qml arm64 on every commit
2022-11-04 00:40:57 +00:00
SomberNight
01b5e3f8e0 flake8: enable more mandatory tests 2022-10-31 16:13:22 +00:00
SomberNight
7db396aad9 follow-up prev: indentations should not use tabs in *.py
re https://github.com/spesmilo/electrum/pull/8044
2022-10-31 15:26:27 +00:00
Sander van Grieken
922fa1adbc ci: add QML Android CI builds for arm64 and arm32 architectures
conservatively only builds on tagged commits, or any commit on the ci-qml-beta branch
2022-10-17 11:49:25 +02:00
SomberNight
1cecd2c6e8 contrib: rename some shell scripts to have ".sh" extension
The extension gives formatting hints to some editors. (especially if they support .editorconfig)
2022-09-27 13:34:03 +00:00
SomberNight
4f574afe5a Merge remote-tracking branch 'remotes/spesmilo/appimage-debian-base'
Change Docker base images from Ubuntu to Debian, and use `snapshot.debian.org` as apt source list.
Ubuntu occasionally removes version-pinned packages from apt (see #7484), which
- breaks historical reproducible builds
- introduces maintenance burden as we have to update the version pins
Hopefully this change fixes both issues.

merges https://github.com/spesmilo/electrum/pull/7926
closes https://github.com/spesmilo/electrum/issues/7484
2022-08-22 13:10:25 +00:00
SomberNight
0ac49ea8c4 cirrus CI build: fix docker context to make COPY instructions work
see https://cirrus-ci.org/guide/writing-tasks/#environment-variables :
> CIRRUS_DOCKER_CONTEXT: Docker build's context directory to use for Dockerfile as a CI environment. Defaults to project's root directory.
2022-08-22 12:47:38 +00:00
yanmaani
501c06559c ci: make source-only tarballs in Cirrus 2022-07-04 12:00:00 +00:00
ThomasV
78b51b3f43 update cirrus make_apk command 2022-03-09 10:45:51 +01:00
SomberNight
5960072161 regtests: update electrumx 2022-02-15 18:41:45 +01:00
SomberNight
dd2f8541b7 bump min required Python version to 3.8 2022-02-15 18:22:32 +01:00