diff --git a/.zuul.yaml b/.zuul.yaml index cefe45f..279f4fe 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -3,17 +3,19 @@ check: jobs: - openstack-tox-linters - - k8app-vault-tox-py39 + - k8sapp-vault-tox-py39 + - k8sapp-vault-tox-pylint gate: jobs: - openstack-tox-linters - - k8app-vault-tox-py39 + - k8sapp-vault-tox-py39 + - k8sapp-vault-tox-pylint post: jobs: - stx-vault-armada-app-upload-git-mirror - job: - name: k8app-vault-tox-py39 + name: k8sapp-vault-tox-py39 parent: tox-py39 description: | Run py39 for vault armada app @@ -42,6 +44,22 @@ secret: stx-vault-armada-app-github-secret pass-to-parent: true +- job: + name: k8sapp-vault-tox-pylint + parent: tox + description: | + Run pylint test for k8sapp_vault + required-projects: + - starlingx/config + - starlingx/fault + - starlingx/update + - starlingx/utilities + files: + - python-k8sapp-vault/* + vars: + tox_envlist: pylint + tox_extra_args: -c python-k8sapp-vault/k8sapp_vault/tox.ini + - secret: name: stx-vault-armada-app-github-secret data: diff --git a/python-k8sapp-vault/k8sapp_vault/pylint.rc b/python-k8sapp-vault/k8sapp_vault/pylint.rc index 6e869c3..a17285c 100644 --- a/python-k8sapp-vault/k8sapp_vault/pylint.rc +++ b/python-k8sapp-vault/k8sapp_vault/pylint.rc @@ -34,7 +34,87 @@ extension-pkg-whitelist=lxml.etree,greenlet # Enable the message, report, category or checker with the given id(s). You can # either give multiple identifier separated by comma (,) or put this option # multiple time. -#enable= +# +# Python3 checker: +# +# E1601: print-statement +# E1602: parameter-unpacking +# E1603: unpacking-in-except +# E1604: old-raise-syntax +# E1605: backtick +# E1606: long-suffix +# E1607: old-ne-operator +# E1608: old-octal-literal +# E1609: import-star-module-level +# E1610: non-ascii-bytes-literal +# E1611: invalid-unicode-literal +# W1601: apply-builtin +# W1602: basestring-builtin +# W1603: buffer-builtin +# W1604: cmp-builtin +# W1605: coerce-builtin +# W1606: execfile-builtin +# W1607: file-builtin +# W1608: long-builtin +# W1609: raw_input-builtin +# W1610: reduce-builtin +# W1611: standarderror-builtin +# W1612: unicode-builtin +# W1613: xrange-builtin +# W1614: coerce-method +# W1615: delslice-method +# W1616: getslice-method +# W1617: setslice-method +# W1618: no-absolute-import +# W1619: old-division +# W1620: dict-iter-method +# W1621: dict-view-method +# W1622: next-method-called +# W1623: metaclass-assignment +# W1624: indexing-exception +# W1625: raising-string +# W1626: reload-builtin +# W1627: oct-method +# W1628: hex-method +# W1629: nonzero-method +# W1630: cmp-method +# W1632: input-builtin +# W1633: round-builtin +# W1634: intern-builtin +# W1635: unichr-builtin +# W1636: map-builtin-not-iterating +# W1637: zip-builtin-not-iterating +# W1638: range-builtin-not-iterating +# W1639: filter-builtin-not-iterating +# W1640: using-cmp-argument +# W1641: eq-without-hash +# W1642: div-method +# W1643: idiv-method +# W1644: rdiv-method +# W1645: exception-message-attribute +# W1646: invalid-str-codec +# W1647: sys-max-int +# W1648: bad-python3-import +# W1649: deprecated-string-function +# W1650: deprecated-str-translate-call +# W1651: deprecated-itertools-function +# W1652: deprecated-types-field +# W1653: next-method-defined +# W1654: dict-items-not-iterating +# W1655: dict-keys-not-iterating +# W1656: dict-values-not-iterating +# W1657: deprecated-operator-function +# W1658: deprecated-urllib-function +# W1659: xreadlines-attribute +# W1660: deprecated-sys-function +# W1661: exception-escape +# W1662: comprehension-escape +#enable=E1603,E1609,E1610,E1602,E1606,E1608,E1607,E1605,E1604,E1601,E1611,W1652, +# W1651,W1649,W1657,W1660,W1658,W1659,W1623,W1622,W1620,W1621,W1645,W1641, +# W1624,W1648,W1625,W1611,W1662,W1661,W1650,W1640,W1630,W1614,W1615,W1642, +# W1616,W1628,W1643,W1629,W1627,W1644,W1617,W1601,W1602,W1603,W1604,W1605, +# W1654,W1655,W1656,W1619,W1606,W1607,W1639,W1618,W1632,W1634,W1608,W1636, +# W1653,W1646,W1638,W1609,W1610,W1626,W1633,W1647,W1635,W1612,W1613,W1637 # Disable the message, report, category or checker with the given id(s). You # can either give multiple identifier separated by comma (,) or put this option @@ -44,7 +124,14 @@ extension-pkg-whitelist=lxml.etree,greenlet # https://pylint.readthedocs.io/en/latest/user_guide # We are disabling (C)onvention # We are disabling (R)efactor -disable=C, R +# Disable Python3 checkers: +# W0107: unnecessary-pass +# W1406: redundant-u-string-prefix +# W1618: no-absolute-import +# E0401: import-error +# E0602: undefined-variable +# E0611: no-name-in-module +disable=C, R, W0107, W1406, W1618, E0401, E0602, E0611 [REPORTS] # Set the output format. Available formats are text, parseable, colorized, msvs diff --git a/python-k8sapp-vault/k8sapp_vault/tox.ini b/python-k8sapp-vault/k8sapp_vault/tox.ini index 38ba37c..1456386 100644 --- a/python-k8sapp-vault/k8sapp_vault/tox.ini +++ b/python-k8sapp-vault/k8sapp_vault/tox.ini @@ -21,8 +21,8 @@ sitepackages = False whitelist_externals = bash find -install_command = pip install \ - -v -v -v --use-deprecated legacy-resolver \ +install_command = pip install --use-deprecated legacy-resolver \ + -v -v -v \ -c{toxinidir}/upper-constraints.txt \ -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/stable/stein/upper-constraints.txt} \ {opts} {packages} @@ -110,7 +110,7 @@ deps = -r{toxinidir}/test-requirements.txt commands = bandit --ini tox.ini -n 5 -r k8sapp_vault [testenv:pylint] -basepython = python2.7 +basepython = python3 sitepackages = False deps = {[testenv]deps} diff --git a/tox.ini b/tox.ini index cede375..8a5ffa9 100644 --- a/tox.ini +++ b/tox.ini @@ -33,3 +33,7 @@ commands = [testenv:linters] commands = {[testenv:bashate]commands} + +[testenv:pylint] +basepython = python3 +description = Dummy environment to allow pylint to be run in subdir tox