HomePhabricator

[electrum] initial monorepo integration

Description

[electrum] initial monorepo integration

Summary:
This is a copy of the ElectrumABC repository as of commit https://github.com/Bitcoin-ABC/ElectrumABC/commit/9b72b3efe62a12f8f5abf883656af17992dd6c85

Two files related to CI and linting have been removed: .pre-commit-config.yaml and .cirrus.yml.
A new configuration file .isort.cfg has been added to mark the main packages as know first party packages to prevent isort from sorting them as third-party packages.

Permanent linter settings:

  • The main modules are excluded from lint-python-shebang as a shebang does not make sense for non-scripts.
  • Auto-generated files (protobuf and icons.py) are excluded from linters.

Temporary linter exclusions (to be fixed in separate diffs):

  • flake8, because of remaining warnings from flake8 plugins (A001, A002, C401...)
  • lint-python-encoding
  • shellcheck
  • flynt (low priority)
  • mypy (low priority and difficult to fix)

Linter related changes:

  • corrected spelling
  • corrected and added bash shebangs
  • added export LC_ALL=C.UTF-8 to shell

Other changes:

  • adapted the build scripts to work when the directory mapped to ELECTRUM_ROOT inside the docker is not the root of a git repo

Test Plan:
arc lint --everything

Make sure Electrum ABC works: cd electrum && ./electrum-abc

Check the Help > Report Bug menu now points to the Bitcoin-ABC repo

Make sure the build toolchains work:

cd electrum
contrib/build-wine/build.sh
contrib/build-linux/appimage/build.sh
contrib/build-linux/srcdist-docker/build.sh

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D14088

Details

Provenance
PiRKAuthored on Jun 20 2023, 05:48
PiRKPushed on Jun 23 2023, 05:25
Reviewer
Restricted Project
Differential Revision
D14088: [electrum] initial monorepo integration
Parents
rABC063e03dc1b6c: [e.cash] Add mining section
Branches
Unknown
Tags
Unknown