diff --git a/.yamllint.yml b/.yamllint.yml new file mode 100644 index 000000000..f2e2618cc --- /dev/null +++ b/.yamllint.yml @@ -0,0 +1,10 @@ +extends: default + +ignore: | + vendor/ + +rules: + # skip line length + line-length: disable + # skip "---" at the beginning + document-start: disable diff --git a/Makefile b/Makefile index cbe43e6a7..69c87606a 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ PY_FILES = $(shell find . -type f -name '*.py' | grep -f ./tools/style.py.incl C_FILES = $(shell find . -type f -name '*.[ch]' | grep -f ./tools/style.c.include | grep -v -f ./tools/style.c.exclude ) -style_check: pystyle_check cstyle_check changelog_check ## run all style checks (C+Py) +style_check: pystyle_check cstyle_check changelog_check yaml_check ## run all style checks (C+Py) style: pystyle cstyle changelog ## apply all code styles (C+Py) @@ -42,6 +42,9 @@ pystyle: ## apply code style on application sources and tests changelog_check: # check changelog format ./tools/linkify-changelogs.py --check +yaml_check: + yamllint . + changelog: # fill out issue links in changelog ./tools/linkify-changelogs.py diff --git a/ci/build.yml b/ci/build.yml index 753d42aa3..0967243ef 100644 --- a/ci/build.yml +++ b/ci/build.yml @@ -19,7 +19,7 @@ core fw regular build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - trezor-fw-regular-*.*.*-$CI_COMMIT_SHORT_SHA.bin + - trezor-fw-regular-*.*.*-$CI_COMMIT_SHORT_SHA.bin expire_in: 1 week core fw regular debug build: @@ -31,7 +31,7 @@ core fw regular debug build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - trezor-fw-regular-debug-*.*.*-$CI_COMMIT_SHORT_SHA.bin + - trezor-fw-regular-debug-*.*.*-$CI_COMMIT_SHORT_SHA.bin expire_in: 1 week core fw btconly build: @@ -47,7 +47,7 @@ core fw btconly build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - trezor-fw-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin + - trezor-fw-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin expire_in: 1 week core fw btconly debug build: @@ -64,7 +64,7 @@ core fw btconly debug build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - trezor-fw-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin + - trezor-fw-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin expire_in: 1 week core fw btconly t1 build: @@ -79,7 +79,7 @@ core fw btconly t1 build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - trezor-fw-btconly-t1-*.*.*-$CI_COMMIT_SHORT_SHA.bin + - trezor-fw-btconly-t1-*.*.*-$CI_COMMIT_SHORT_SHA.bin expire_in: 1 week core unix regular build: @@ -90,8 +90,8 @@ core unix regular build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - core/build/unix/trezor-emu-core - - core/src/trezor/res/resources.py + - core/build/unix/trezor-emu-core + - core/src/trezor/res/resources.py expire_in: 1 week core unix frozen regular build: @@ -102,7 +102,7 @@ core unix frozen regular build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - core/build/unix/trezor-emu-core + - core/build/unix/trezor-emu-core expire_in: 1 week core unix frozen btconly debug build: @@ -117,7 +117,7 @@ core unix frozen btconly debug build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - core/build/unix/trezor-emu-core-bitcoinonly + - core/build/unix/trezor-emu-core-bitcoinonly expire_in: 1 week core unix frozen debug build: @@ -168,10 +168,10 @@ crypto build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - crypto/tests/aestst - - crypto/tests/libtrezor-crypto.so - - crypto/tests/test_check - - crypto/tests/test_openssl + - crypto/tests/aestst + - crypto/tests/libtrezor-crypto.so + - crypto/tests/test_check + - crypto/tests/test_openssl expire_in: 1 week @@ -189,7 +189,7 @@ legacy fw regular build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - trezor-fw-regular-*.*.*-$CI_COMMIT_SHORT_SHA.bin + - trezor-fw-regular-*.*.*-$CI_COMMIT_SHORT_SHA.bin expire_in: 1 week legacy fw regular debug build: @@ -204,7 +204,7 @@ legacy fw regular debug build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - trezor-fw-regular-debug-*.*.*-$CI_COMMIT_SHORT_SHA.bin + - trezor-fw-regular-debug-*.*.*-$CI_COMMIT_SHORT_SHA.bin expire_in: 1 week legacy fw btconly build: @@ -221,7 +221,7 @@ legacy fw btconly build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - trezor-fw-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin + - trezor-fw-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin expire_in: 1 week legacy fw btconly debug build: @@ -238,7 +238,7 @@ legacy fw btconly debug build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - trezor-fw-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin + - trezor-fw-btconly-*.*.*-$CI_COMMIT_SHORT_SHA.bin expire_in: 1 week legacy emu regular debug build: @@ -252,7 +252,7 @@ legacy emu regular debug build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - legacy/firmware/trezor.elf + - legacy/firmware/trezor.elf expire_in: 1 week legacy emu btconly debug build: @@ -268,5 +268,5 @@ legacy emu btconly debug build: artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_SHORT_SHA" paths: - - legacy/firmware/trezor-bitcoinonly.elf + - legacy/firmware/trezor-bitcoinonly.elf expire_in: 1 week diff --git a/ci/posttest.yml b/ci/posttest.yml index 0b933da96..250969e03 100644 --- a/ci/posttest.yml +++ b/ci/posttest.yml @@ -16,8 +16,8 @@ core unix coverage posttest: artifacts: name: core-unix-coverage-posttest paths: - - core/.coverage.* - - core/htmlcov + - core/.coverage.* + - core/htmlcov when: always expire_in: 1 week @@ -33,5 +33,5 @@ core unix ui changes: artifacts: name: core-unix-ui-changes paths: - - master_diff + - master_diff expire_in: 1 week diff --git a/legacy/gitian/gitian.yml b/legacy/gitian/gitian.yml index 2f24b9777..10f33ec18 100644 --- a/legacy/gitian/gitian.yml +++ b/legacy/gitian/gitian.yml @@ -2,16 +2,16 @@ name: "trezor-mcu" enable_cache: true suites: -- "trusty" + - "trusty" architectures: -- "amd64" + - "amd64" packages: -- "build-essential" -- "gcc-arm-none-eabi" + - "build-essential" + - "gcc-arm-none-eabi" reference_datetime: "2015-06-01 00:00:00" remotes: -- "url": "https://github.com/trezor/trezor-mcu.git" - "dir": "trezor-mcu" + - "url": "https://github.com/trezor/trezor-mcu.git" +"dir": "trezor-mcu" files: [] script: | make -C vendor/libopencm3 diff --git a/poetry.lock b/poetry.lock index 30e039dda..07670adce 100644 --- a/poetry.lock +++ b/poetry.lock @@ -695,6 +695,14 @@ optional = false python-versions = "*" version = "228" +[[package]] +category = "main" +description = "YAML parser and emitter for Python" +name = "pyyaml" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +version = "5.3.1" + [[package]] category = "main" description = "Alternative regular expression module, to replace re." @@ -911,6 +919,19 @@ version = ">=1.0" docs = ["proselint (>=0.10.2)", "sphinx (>=3)", "sphinx-argparse (>=0.2.5)", "sphinx-rtd-theme (>=0.4.3)", "towncrier (>=19.9.0rc1)"] testing = ["coverage (>=4)", "coverage-enable-subprocess (>=1)", "flaky (>=3)", "pytest (>=4)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.1)", "pytest-mock (>=2)", "pytest-randomly (>=1)", "pytest-timeout (>=1)", "pytest-xdist (>=1.31.0)", "packaging (>=20.0)", "xonsh (>=0.9.16)"] +[[package]] +category = "main" +description = "A linter for YAML files." +name = "yamllint" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" +version = "1.25.0" + +[package.dependencies] +pathspec = ">=0.5.3" +pyyaml = "*" +setuptools = "*" + [[package]] category = "main" description = "Backport of pathlib-compatible object wrapper for zip files" @@ -925,7 +946,7 @@ docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"] testing = ["pytest (>=3.5,<3.7.3 || >3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] [metadata] -content-hash = "64cd08aa019e1bc6239173abd8d96b2e284012b54b8a69324dc32760c1239db0" +content-hash = "272314acc0f8fa061caf9e651f9cfdd4ac44b4b690382226987df6c89758e384" lock-version = "1.0" python-versions = "^3.6" @@ -1368,6 +1389,19 @@ pywin32 = [ {file = "pywin32-228-cp39-cp39-win32.whl", hash = "sha256:ed74b72d8059a6606f64842e7917aeee99159ebd6b8d6261c518d002837be298"}, {file = "pywin32-228-cp39-cp39-win_amd64.whl", hash = "sha256:8319bafdcd90b7202c50d6014efdfe4fde9311b3ff15fd6f893a45c0868de203"}, ] +pyyaml = [ + {file = "PyYAML-5.3.1-cp27-cp27m-win32.whl", hash = "sha256:74809a57b329d6cc0fdccee6318f44b9b8649961fa73144a98735b0aaf029f1f"}, + {file = "PyYAML-5.3.1-cp27-cp27m-win_amd64.whl", hash = "sha256:240097ff019d7c70a4922b6869d8a86407758333f02203e0fc6ff79c5dcede76"}, + {file = "PyYAML-5.3.1-cp35-cp35m-win32.whl", hash = "sha256:4f4b913ca1a7319b33cfb1369e91e50354d6f07a135f3b901aca02aa95940bd2"}, + {file = "PyYAML-5.3.1-cp35-cp35m-win_amd64.whl", hash = "sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c"}, + {file = "PyYAML-5.3.1-cp36-cp36m-win32.whl", hash = "sha256:7739fc0fa8205b3ee8808aea45e968bc90082c10aef6ea95e855e10abf4a37b2"}, + {file = "PyYAML-5.3.1-cp36-cp36m-win_amd64.whl", hash = "sha256:69f00dca373f240f842b2931fb2c7e14ddbacd1397d57157a9b005a6a9942648"}, + {file = "PyYAML-5.3.1-cp37-cp37m-win32.whl", hash = "sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a"}, + {file = "PyYAML-5.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:73f099454b799e05e5ab51423c7bcf361c58d3206fa7b0d555426b1f4d9a3eaf"}, + {file = "PyYAML-5.3.1-cp38-cp38-win32.whl", hash = "sha256:06a0d7ba600ce0b2d2fe2e78453a470b5a6e000a985dd4a4e54e436cc36b0e97"}, + {file = "PyYAML-5.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:95f71d2af0ff4227885f7a6605c37fd53d3a106fcab511b8860ecca9fcf400ee"}, + {file = "PyYAML-5.3.1.tar.gz", hash = "sha256:b8eac752c5e14d3eca0e6dd9199cd627518cb5ec06add0de9d32baeee6fe645d"}, +] regex = [ {file = "regex-2020.9.27-cp27-cp27m-win32.whl", hash = "sha256:d23a18037313714fb3bb5a94434d3151ee4300bae631894b1ac08111abeaa4a3"}, {file = "regex-2020.9.27-cp27-cp27m-win_amd64.whl", hash = "sha256:84e9407db1b2eb368b7ecc283121b5e592c9aaedbe8c78b1a2f1102eb2e21d19"}, @@ -1389,6 +1423,12 @@ regex = [ {file = "regex-2020.9.27-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:8d69cef61fa50c8133382e61fd97439de1ae623fe943578e477e76a9d9471637"}, {file = "regex-2020.9.27-cp38-cp38-win32.whl", hash = "sha256:f2388013e68e750eaa16ccbea62d4130180c26abb1d8e5d584b9baf69672b30f"}, {file = "regex-2020.9.27-cp38-cp38-win_amd64.whl", hash = "sha256:4318d56bccfe7d43e5addb272406ade7a2274da4b70eb15922a071c58ab0108c"}, + {file = "regex-2020.9.27-cp39-cp39-manylinux1_i686.whl", hash = "sha256:84cada8effefe9a9f53f9b0d2ba9b7b6f5edf8d2155f9fdbe34616e06ececf81"}, + {file = "regex-2020.9.27-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:816064fc915796ea1f26966163f6845de5af78923dfcecf6551e095f00983650"}, + {file = "regex-2020.9.27-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:5d892a4f1c999834eaa3c32bc9e8b976c5825116cde553928c4c8e7e48ebda67"}, + {file = "regex-2020.9.27-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:c9443124c67b1515e4fe0bb0aa18df640965e1030f468a2a5dc2589b26d130ad"}, + {file = "regex-2020.9.27-cp39-cp39-win32.whl", hash = "sha256:49f23ebd5ac073765ecbcf046edc10d63dcab2f4ae2bce160982cb30df0c0302"}, + {file = "regex-2020.9.27-cp39-cp39-win_amd64.whl", hash = "sha256:3d20024a70b97b4f9546696cbf2fd30bae5f42229fbddf8661261b1eaff0deb7"}, {file = "regex-2020.9.27.tar.gz", hash = "sha256:a6f32aea4260dfe0e55dc9733ea162ea38f0ea86aa7d0f77b15beac5bf7b369d"}, ] requests = [ @@ -1438,19 +1478,28 @@ typed-ast = [ {file = "typed_ast-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75"}, {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652"}, {file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7"}, + {file = "typed_ast-1.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f"}, {file = "typed_ast-1.4.1-cp36-cp36m-win32.whl", hash = "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1"}, {file = "typed_ast-1.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa"}, {file = "typed_ast-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614"}, {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41"}, {file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b"}, + {file = "typed_ast-1.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:f208eb7aff048f6bea9586e61af041ddf7f9ade7caed625742af423f6bae3298"}, {file = "typed_ast-1.4.1-cp37-cp37m-win32.whl", hash = "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe"}, {file = "typed_ast-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355"}, {file = "typed_ast-1.4.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6"}, {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907"}, {file = "typed_ast-1.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d"}, + {file = "typed_ast-1.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:7e4c9d7658aaa1fc80018593abdf8598bf91325af6af5cce4ce7c73bc45ea53d"}, {file = "typed_ast-1.4.1-cp38-cp38-win32.whl", hash = "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c"}, {file = "typed_ast-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4"}, {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34"}, + {file = "typed_ast-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:92c325624e304ebf0e025d1224b77dd4e6393f18aab8d829b5b7e04afe9b7a2c"}, + {file = "typed_ast-1.4.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d648b8e3bf2fe648745c8ffcee3db3ff903d0817a01a12dd6a6ea7a8f4889072"}, + {file = "typed_ast-1.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:fac11badff8313e23717f3dada86a15389d0708275bddf766cca67a84ead3e91"}, + {file = "typed_ast-1.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:0d8110d78a5736e16e26213114a38ca35cb15b6515d535413b090bd50951556d"}, + {file = "typed_ast-1.4.1-cp39-cp39-win32.whl", hash = "sha256:b52ccf7cfe4ce2a1064b18594381bccf4179c2ecf7f513134ec2f993dd4ab395"}, + {file = "typed_ast-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:3742b32cf1c6ef124d57f95be609c473d7ec4c14d0090e5a5e05a15269fb4d0c"}, {file = "typed_ast-1.4.1.tar.gz", hash = "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b"}, ] typing-extensions = [ @@ -1469,6 +1518,10 @@ virtualenv = [ {file = "virtualenv-20.0.33-py2.py3-none-any.whl", hash = "sha256:35ecdeb58cfc2147bb0706f7cdef69a8f34f1b81b6d49568174e277932908b8f"}, {file = "virtualenv-20.0.33.tar.gz", hash = "sha256:a5e0d253fe138097c6559c906c528647254f437d1019af9d5a477b09bfa7300f"}, ] +yamllint = [ + {file = "yamllint-1.25.0-py2.py3-none-any.whl", hash = "sha256:c7be4d0d2584a1b561498fa9acb77ad22eb434a109725c7781373ae496d823b3"}, + {file = "yamllint-1.25.0.tar.gz", hash = "sha256:b1549cbe5b47b6ba67bdeea31720f5c51431a4d0c076c1557952d841f7223519"}, +] zipp = [ {file = "zipp-3.3.0-py3-none-any.whl", hash = "sha256:eed8ec0b8d1416b2ca33516a37a08892442f3954dee131e92cfd92d8fe3e7066"}, {file = "zipp-3.3.0.tar.gz", hash = "sha256:64ad89efee774d1897a58607895d80789c59778ea02185dd846ac38394a8642b"}, diff --git a/pyproject.toml b/pyproject.toml index 7c7c3d0a9..4224f0bf3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -68,6 +68,7 @@ cryptography = "*" hypothesis = "*" attrs = "*" inotify = "*" +yamllint = "^1.25.0" [tool.poetry.dev-dependencies] scan-build = "*"