1
0
Commit Graph

42 Commits

Author SHA1 Message Date
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
SomberNight
f02e3b9d99 cirrus ci: change cache key for pip dependencies
the cache should be considered stale if requirements.txt changes
2022-02-15 18:19:41 +01:00
Jeremy Rand
8ab97d7d40 Cirrus: Use hardcoded ElectrumX v1.15.0 in functional tests 2021-12-28 07:05:39 +00:00
Jeremy Rand
d79de7ac2e Cirrus: Use VM instead of Docker for functional tests 2021-12-28 07:04:57 +00:00
SomberNight
b9295eda09 ci: only run coveralls script if ENV var is set (for token)
As the token is typically not available for pull requests.
2021-09-28 16:30:41 +02:00
SomberNight
8b9296654e contrib/push_locale: start using crowdin v2 API (instead of v1)
-----

closes https://github.com/spesmilo/electrum/issues/6936

Note: if we used the python crowdin client (https://github.com/crowdin/crowdin-api-client-python),
we would do something like this:

```
from crowdin_api import CrowdinClient
class MyCrowdinClient(CrowdinClient):
    TOKEN = ...
client = MyCrowdinClient()
with open(locale_file_name, 'rb') as f:
    resp = client.storages.add_storage(f)
    storage_id = resp['data']['id']
client.source_files.update_file(projectId=crowdin_project_id, storageId=storage_id, fileId=crowdin_file_id)
client.translations.build_crowdin_project_translation(projectId=crowdin_project_id)
```
2021-09-14 20:17:10 +02:00
SomberNight
70d901b544 cirrus ci: push_locale: make sure gettext is installed 2021-09-14 20:10:32 +02:00
SomberNight
8ef2052a62 ci: coveralls: try to aggregate tasks/jobs into builds
see https://github.com/lemurheavy/coveralls-public/issues/1558
see https://github.com/cirruslabs/cirrus-ci-docs/issues/118#issuecomment-717680614
2021-09-13 20:22:58 +02:00
SomberNight
03547ac182 ci: fix coveralls for cirrus ci 2021-09-13 19:51:56 +02:00
JeremyRand
b1c4bb8914 Add Cirrus CI (#7431)
* Cirrus: Add Tox task

* Cirrus: Add Locale task

* Cirrus: Add Flake8 Task

* Cirrus: Add Regtest task

* Regtest: Flush stdout

Allows viewing output sooner.

* Regtest: Read process.stdout in text mode

Improves ability to quickly see output.

* Cirrus: Add Windows task

* Cirrus: Add Android task

* Cirrus: Add macOS task

* Cirrus: Add AppImage task

* Cirrus: Add tarball task

* Cirrus: Add Submodules task

* Android: remove superfluous cp/rm

* Add .dockerignore

Symlink to .gitignore.
2021-09-13 16:20:54 +00:00