Separate flake8 linting from unit testing pull requests
Currently, our "run-tests" scripts do both flake8 (style) and unit testing. Both of these are being done in a distribution-dependent way (e.g. fedora23, rhel7, etc), but the flake8 testing only needs to be done in specific version of python, which means it does not need to be run on every platform, or even in the same environment, as our unit tests.
- split this into another step in the pr tester job, continuing to run the lint job on the same jenkins node
- make another job focused on just linting, using the minimum number of jenkins environments required to test on all necessary python versions
- use travis, and completely remove the work from our jenkins workflow
I think that using travis has a lot of a pros, like being able to instantly report on community submitted PRs since they're isolated in travis's infrastructure. This has the downside of not automatically running flake8 when a developer is running the tests, but that can possibly be easily managed by optionally running unit tests in jenkins and flake8 tests in travis based on certain env vars being set by the respective build system, and always running both when those env vars are not set.
#2 Updated by semyers about 4 years ago
Useful links, btw, for someone looking for the env vars to know whether running in jenkies, travis, or neither:
Travis makes it relatively simply with the "TRAVIS" and "CI" env vars; we might consider adding "JENKINS" var and supporting the "CI" env var in our jenkies environment for consistency.
Please register to edit this issue