pylint.yaml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. name: pylint
  2. on:
  3. push:
  4. paths:
  5. - '.github/workflows/pylint.yaml'
  6. - '.github/build-requirements.txt'
  7. - 'pyproject.toml'
  8. - 'setup.cfg'
  9. - 'test/ref/**'
  10. - 'cmds/**'
  11. - '**.py'
  12. - '**.c'
  13. jobs:
  14. test:
  15. runs-on: ubuntu-latest
  16. strategy:
  17. matrix:
  18. python-version: ["3.9", "3.11", "3.12"]
  19. include:
  20. - python-version: "3.9"
  21. pylint_ver: "3.1.1"
  22. - python-version: "3.11"
  23. pylint_ver: "3.1.1"
  24. - python-version: "3.12"
  25. pylint_ver: "3.1.1"
  26. steps:
  27. - uses: actions/checkout@v4
  28. - name: Install Ubuntu package dependencies
  29. run: |
  30. sudo apt-get install libsecp256k1-dev
  31. - name: Set up Python ${{ matrix.python-version }}
  32. uses: actions/setup-python@v4
  33. with:
  34. python-version: ${{ matrix.python-version }}
  35. cache: 'pip'
  36. cache-dependency-path: |
  37. .github/build-requirements.txt
  38. setup.cfg
  39. - name: Install Python dependencies
  40. run: |
  41. python3 -m pip install pip setuptools build wheel
  42. python3 -m pip install gmpy2 cryptography pynacl ecdsa aiohttp requests pexpect scrypt semantic-version
  43. python3 -m pip install pycryptodomex pysocks pycoin ipaddress varint pylint==${{ matrix.pylint_ver }}
  44. python3 -m pip install --no-deps py_ecc==1.6.0 mypy_extensions==0.4.1 monero
  45. python3 setup.py build_ext --inplace
  46. - name: Check the code with Pylint static code analyzer
  47. env:
  48. PYTHONPATH: .
  49. run: |
  50. pylint --errors-only --jobs=0 mmgen
  51. pylint --errors-only --jobs=0 test
  52. pylint --errors-only --jobs=0 examples
  53. pylint --errors-only --jobs=0 --disable=relative-beyond-top-level test/cmdtest_d