pylint.yaml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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.10","3.11","3.12"]
  19. include:
  20. - python-version: "3.9"
  21. pylint_ver: "3.1.1"
  22. - python-version: "3.10"
  23. pylint_ver: "3.1.1"
  24. - python-version: "3.11"
  25. pylint_ver: "3.1.1"
  26. - python-version: "3.12"
  27. pylint_ver: "3.1.1"
  28. steps:
  29. - uses: actions/checkout@v4
  30. - name: Install Ubuntu package dependencies
  31. run: |
  32. sudo apt-get install libsecp256k1-dev
  33. - name: Set up Python ${{ matrix.python-version }}
  34. uses: actions/setup-python@v4
  35. with:
  36. python-version: ${{ matrix.python-version }}
  37. cache: 'pip'
  38. cache-dependency-path: |
  39. .github/build-requirements.txt
  40. setup.cfg
  41. - name: Install Python dependencies
  42. run: |
  43. python3 -m pip install pip setuptools build wheel
  44. python3 -m pip install gmpy2 cryptography pynacl ecdsa aiohttp requests pexpect scrypt semantic-version
  45. python3 -m pip install pycryptodomex pysocks pycoin ipaddress varint pylint==${{ matrix.pylint_ver }}
  46. python3 -m pip install --no-deps py_ecc==1.6.0 mypy_extensions==0.4.1 monero
  47. python3 setup.py build_ext --inplace
  48. - name: Check the code with Pylint static code analyzer
  49. env:
  50. PYTHONPATH: .
  51. run: |
  52. pylint --errors-only mmgen
  53. pylint --errors-only test
  54. pylint --errors-only examples
  55. pylint --errors-only --disable=relative-beyond-top-level test/cmdtest_py_d