Commit graph

364 commits

Author SHA1 Message Date
Jiri Kucera
fc0c37efc1 Wrap flake8
Wrapping flake8 give a possibility to a user to dissable flake8 via
setting environment variable in config.sh.
2020-01-20 10:10:14 +01:00
Till Maas
7007a0ec1f
Merge pull request #146 from i386x/lsr-template-refactored--part-4
Onboard refactored tox & Travis CI setup and configuration vol. 4
2020-01-16 17:19:28 +01:00
Jiri Kucera
677f7b8918 Wrap pylint runner
Prior this change, RUN_PYLINT_* environment variables set by config.sh
have effect only while running in Travis (because runtox script sets
them by including config.sh). By wrapping pylint runner with shell
script, RUN_PYLINT_* environment variables have effect also while
running tox locally.
2020-01-16 16:19:50 +01:00
Till Maas
595a212620
Merge pull request #145 from i386x/lsr-template-refactored--part-3
Onboard refactored tox & Travis CI setup and configuration vol. 3
2020-01-13 13:04:55 +01:00
Jiri Kucera
2c79fad96f Add black wrapper
Some system roles want not to run black on their code. This wrapper
decides whether to run black or not depending on content of config.sh.
This wrapper also allows to set patterns of files and directories via
config.sh to be processed or skipped by black.
2020-01-13 11:57:13 +01:00
Till Maas
984eb0d60e
Merge pull request #144 from i386x/lsr-template-refactored--part-2
Onboard refactored tox & Travis CI setup and configuration vol. 2
2020-01-13 11:23:32 +01:00
Jiri Kucera
e026322cde Add pytest wrapper
Not every system role contains parts written in Python, which
confuses pytest. With a shell wrapper around pytest, pytest
can be skipped or run with adjusted parameters depending on the
content or presence of system role's specific directories.
2020-01-13 10:23:39 +01:00
Till Maas
7b5a06c90c
Merge pull request #142 from i386x/lsr-template-refactored--part-1
Onboard refactored tox & Travis CI setup and configuration vol. 1
2020-01-09 21:16:35 +01:00
Jiri Kucera
b563a09cb4 .travis/preinstall: Add python3-selinux
Add python3-selinux to the packages-to-be-installed list if
venv python matches system python.
2020-01-09 19:51:16 +01:00
Till Maas
c94fea7617
Merge pull request #143 from i386x/fix-custom-requirements
custom_requirements.txt: Add environment marker
2020-01-09 19:38:30 +01:00
Jiri Kucera
668e5fb700 custom_requirements.txt: Add environment marker
Specify on which environments PyYAML should be installed to prevent
failing pip install.
2020-01-09 16:09:31 +01:00
Till Maas
cbe1e1ee52
Merge pull request #137 from tyll/travis_38
Travis: Add stable Python 3.8, remove 3.7-dev
2019-12-05 14:26:20 +01:00
Till Maas
be2182a06c Travis: Add stable Python 3.8, remove 3.7-dev
Python 3.8 was released and will be used in Fedora Rawhide/Fedora 32.
2019-12-05 11:42:57 +01:00
Till Maas
0efe09d6fd
Merge pull request #136 from tyll/partial_sync
Sync some changes from the templates repo
2019-11-27 20:56:32 +01:00
Till Maas
6cf9124ce2 tox: Rename extra to custom 2019-11-27 19:19:42 +01:00
Till Maas
213bd36bf3 Travis: Add shell library 2019-11-27 19:19:42 +01:00
Till Maas
7145d894a4 tox: Support pylint extra requirements 2019-11-27 18:36:45 +01:00
Jiri Kucera
6b241e707a molecule/yamllint: Enable line-length check 2019-11-27 18:22:57 +01:00
Jiri Kucera
198c21681c molecule: Add SPDX identifier 2019-11-27 18:22:18 +01:00
Till Maas
aa17fbd080
Merge pull request #135 from tyll/linelength
Break long lines in defaults and remove deprecated checks
2019-11-27 18:04:28 +01:00
Till Maas
6cfcfc430c Defaults: Remove conditions for unsupported Fedora releases 2019-11-27 16:54:22 +01:00
Till Maas
85f16ddf6f Defaults: Break long lines 2019-11-27 16:49:40 +01:00
Till Maas
4fb9eb3dcc README: Update Travis URL 2019-11-27 16:28:33 +01:00
Till Maas
a46729bdce
Merge pull request #134 from tyll/lgtmpy2
Add LGTM configuration
2019-11-27 14:45:42 +01:00
Jiri Kucera
f251bdd9d4 Add LGTM configuration 2019-11-27 14:36:46 +01:00
Till Maas
3b010da9de
Merge pull request #131 from tyll/lgtm
Add LGTM check
2019-10-21 14:47:04 +02:00
Till Maas
ea8e6b4f23 README: Add LGTM banner 2019-10-17 18:48:24 +02:00
Till Maas
f0aa5fd4de library: Use new-style classes with @property
Reference: https://lgtm.com/rules/10030086/
2019-10-17 18:48:00 +02:00
Jiří Kučera
5a1f9cfd40
Merge pull request #129 from i386x/new-travis-ci-setup
Refactor Travis CI setup
2019-09-16 12:47:06 +02:00
Jiri Kucera
dee03a7820 Add back dist: xenial
Until we will be sure about system python detection in tox-travis
or we find another way of how to enforce running molecule on
system python, we must prevent the bumping system python version
when Travis team bumps default building environmet by setting the
building environment explicitly.
2019-09-16 11:30:49 +02:00
Jiri Kucera
bd3010cc75 --ignore-missing does not work as expected 2019-09-13 15:10:09 +02:00
Jiri Kucera
a13e175084 Try to use long option variant to -m 2019-09-13 15:02:55 +02:00
Jiri Kucera
b5724f045a Ignore missing packages
Ignore packages if they are missing (try to not break installation
chain early).
2019-09-13 14:33:54 +02:00
Jiri Kucera
0ae8076e55 Install extra packages allways
Do not make extra package installing dependent on TRAVIS_PYTHON_VERSION.
Instead, install them if they are available (silently ignore errors
about missing packages).
2019-09-13 14:12:44 +02:00
Jiri Kucera
1490a46f47 Add SPDX-License-Identifier: MIT 2019-09-12 11:49:01 +02:00
Jiri Kucera
392ff45c9d Cleanup [travis] section 2019-09-12 11:22:36 +02:00
Jiri Kucera
9803dfb7f2 Clean-up shell scripts 2019-09-12 10:51:49 +02:00
Jiri Kucera
7181919cc0 Add missing testenv: prefix 2019-09-12 10:51:02 +02:00
Jiri Kucera
b59078a9ab Remove LSR_USE_PYTHON
Try to keep CI configuration in a one place (this involves removing
LSR_USE_PYTHON from Travis CI Web Settings Interface and then the
loss of reason to keep it in .travis.yml)
2019-09-12 09:49:51 +02:00
Jiri Kucera
4b51f0eb47 Exclude molecule from envlist
molecule needs root privileges to run, so it is better to run
molecule explicitly
2019-09-12 09:28:51 +02:00
Till Maas
1f228fc380
Merge pull request #127 from i-hill/add-oracle-linux
Added OracleLinux as a RHEL clone for package detection purposes.
2019-09-05 15:03:36 +02:00
Jiri Kucera
047469b14d Incorporate changes from PR #120 2019-09-02 14:27:10 +02:00
Jiri Kucera
561ce8f5df Allow to dissable pylint
Introduce several environment variables:
  RUN_PYLINT_DISABLED - disable pylint execution
  RUN_PYLINT_INCLUDE - specify regex for files to be included
  RUN_PYLINT_EXCLUDE - specify regex for files to be excluded
2019-09-02 14:16:59 +02:00
Jiri Kucera
b9b3561653 Support multiple Molecule scenarios
Other changes:
- run linters before tests
- return [pylint] and [pycodestyle] back on the list (some IDE's
  rely on this)
2019-08-19 12:48:30 +02:00
Jiri Kucera
42e0a0c64d run_pylint.py: Remove duplicity 2019-08-19 12:47:46 +02:00
Jiri Kucera
149b4e3124 pylintrc: Update ignore list 2019-08-19 12:44:23 +02:00
Jiri Kucera
7af5797b7d Reuse virtual environments
Virtual environments names are now based on the version of Python
interpreter that is used. This prevents creation of redundant
environments, that is there will be only one[1] virtual environment
per Python interpreter, which saves the time by preventing the
installation of the same packages more than once.

[1] In Travis CI, this is easy to implement by using the
    TRAVIS_PYTHON_VERSION environment variable. Locally, as there
    is no information about what version of Python interpreter is
    used when creating a virtual environment in tox, there may be
    more virtual environments per interpreter (for example, env-3.6
    and env-molecule may be both based on Python 3.6).
2019-08-01 00:19:07 +02:00
Jiri Kucera
97a6ddbcc0 Return back to 'selinux'
As https://github.com/pycontribs/selinux/pull/3 was merged and
released, we can use 'selinux' dependency again.
2019-08-01 00:14:44 +02:00
Jiri Kucera
f21d01ab68 Add pylint wrapper
Add run_pylint.py that probe working directory for python source files
and pass them to pylint. This is needed because pylint expects module
or package, so passing a directory with no __init__.py in it makes
pylint angry. With this change, LSR_PYLINT_DIRS is no longer needed.

Additionally, we no longer need:
- init-hook in pylintrc
- [pylintrc] section in tox.ini, because the configuration from this
  section is now the part of pylintrc
- [pycodestyle] section in tox.ini, because pycodestyle linter is not
  used
2019-07-31 00:52:26 +02:00
Jiri Kucera
f5bc42632d Missing backslash 2019-07-19 12:49:00 +02:00