Skip to content

Commit

Permalink
Merge 405e837 into 470c877
Browse files Browse the repository at this point in the history
  • Loading branch information
staeff committed Nov 14, 2018
2 parents 470c877 + 405e837 commit f9244af
Show file tree
Hide file tree
Showing 9 changed files with 324 additions and 76 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ lib/
local/
parts/
src/*
/.tox/
test.plone_addon/
var/
# files
Expand Down
57 changes: 40 additions & 17 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,57 @@ language: python
sudo: false
addons:
firefox: "61.0"

matrix:
include:
- python: "2.7"
env: TOXENV=docs,lint-py27,code-analysis
- python: "3.6"
env: TOXENV=docs,lint-py36
- python: "2.7"
env: TOXENV=py27-Plone43
- python: "2.7"
env: TOXENV=py27-Plone50
- python: "2.7"
env: TOXENV=py27-Plone51
- python: "2.7"
env: TOXENV=py27-Plone52
- python: "3.6"
env: TOXENV=py36-Plone52
# allow_failures:
# - python: "3.6"
# env: TOXENV=py36-Plone52

cache:
pip: true
directories:
- eggs
- downloads
python:
- "2.7"
matrix:
fast_finish: true
- eggs
- $HOME/buildout-cache

before_install:
- mkdir -p $HOME/buildout-cache/{downloads,eggs,extends}
- mkdir $HOME/.buildout
- echo "[buildout]" > $HOME/.buildout/default.cfg
- echo "download-cache = $HOME/buildout-cache/downloads" >> $HOME/.buildout/default.cfg
- echo "eggs-directory = $HOME/buildout-cache/eggs" >> $HOME/.buildout/default.cfg
- echo "extends-cache = $HOME/buildout-cache/extends" >> $HOME/.buildout/default.cfg
- echo "abi-tag-eggs = true" >> $HOME/.buildout/default.cfg

install:
- virtualenv -p `which python` .
- bin/pip install -r requirements.txt
- bin/buildout -N buildout:download-cache=downloads code-analysis:return-status-codes=True annotate
- bin/buildout -N buildout:download-cache=downloads code-analysis:return-status-codes=True
- travis_retry pip install -U setuptools pip tox coveralls coverage
- mkdir bin
- wget https://github.com/mozilla/geckodriver/releases/download/v0.21.0/geckodriver-v0.21.0-linux64.tar.gz
- tar -xzf geckodriver-v0.21.0-linux64.tar.gz -C bin
- export PATH=$(pwd)/bin:$PATH

before_script:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- firefox -v

script:
- bin/code-analysis
- bin/test -v
- bin/test -v --all -t robot
- travis_retry tox

after_success:
- bin/createcoverage
- bin/pip install coverage
- bin/python -m coverage.pickle2json
- pip install coveralls
- coverage combine
- coveralls
60 changes: 5 additions & 55 deletions buildout.cfg
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
[buildout]
extends = http://dist.plone.org/release/5.1/versions.cfg
#extends = http://dist.plone.org/release/5.1/versions.cfg

show-picked-versions = true

extensions =
mr.developer

Expand All @@ -18,6 +20,7 @@ parts =
isort
yapf
python

develop = .


Expand Down Expand Up @@ -115,59 +118,6 @@ eggs = i18ndude
[versions]
# Don't use a released version of collective.ifttt
collective.ifttt =

# override some version pinning from Plone:


# development dependencies (tools and pre commit hook)
setuptools =
zc.buildout =
mr.developer = >=1.38
PyYAML = 3.12
argh = 0.26.2
args = 0.1.0
check-manifest = 0.35
clint = 0.5.1
colorama = 0.3.7
configparser = 3.5.0
coverage = 3.7.1
createcoverage = 1.5
enum34 = 1.1.6
flake8 = 3.3.0
flake8-blind-except = 0.1.1
flake8-coding = 1.3.0
flake8-debugger = 1.4.0
flake8-deprecated = 1.1
flake8-isort = 2.1.3
flake8-pep3101 = 1.0
flake8-plone-api = 1.2
flake8-plone-hasattr = 0.1
flake8-polyfill = 1.0.1
flake8-print = 2.0.2
flake8-quotes = 0.9.0
flake8-string-format = 0.2.3
flake8-todo = 0.7
i18ndude = 4.0.1
isort = 4.2.5
mccabe = 0.6.1
pathtools = 0.1.2
pkginfo = 1.4.2
plone.recipe.codeanalysis = 2.2
plone.testing = 5.0.0
pycodestyle = 2.3.1
pyflakes = 1.5.0
requests-toolbelt = 0.8.0
robotframework = 3.0.4
robotframework-ride = 1.5.2.1
robotframework-selenium2library = 3.0.0
robotframework-seleniumlibrary = 3.1.1
robotframework-debuglibrary = 1.1.2
robotsuite = 1.7.0
selenium = 3.14.0
testfixtures = 4.13.4
twine = 1.11.0
watchdog = 0.8.3
z3c.jbot = 0.7.2
zc.recipe.egg = 2.0.3
zest.releaser = 6.15.1
plone.recipe.zope2instance = 4.4.0
# override some version pinning from Plone:
5 changes: 1 addition & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,7 @@
'test': [
'plone.app.testing',
'collective.easyform',
# Plone KGS does not use this version, because it would break
# Remove if your package shall be part of coredev.
# plone_coredev tests as of 2016-04-01.
'plone.testing>=5.0.0',
'plone.testing',
'plone.app.contenttypes',
'plone.app.robotframework[debug]',
'robotframework-selenium2screenshots[Pillow]',
Expand Down
188 changes: 188 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
[tox]
envlist =
py{27}-Plone{43,50,51},
py{27,36,37}-Plone{52},
build_instance,
#docs,
code-analysis,
lint-py27,
lint-py36,
coverage-report,

skip_missing_interpreters = False

[testenv]
skip_install = true

extras =
develop
test

commands =
{envbindir}/buildout -c {toxinidir}/{env:version_file} buildout:directory={envdir} buildout:develop={toxinidir} bootstrap
{envbindir}/buildout -c {toxinidir}/{env:version_file} buildout:directory={envdir} buildout:develop={toxinidir} annotate
{envbindir}/buildout -c {toxinidir}/{env:version_file} buildout:directory={envdir} buildout:develop={toxinidir} install test robot
coverage run {envbindir}/test -v1 --auto-color {posargs}
# coverage run {envbindir}/test -v --all -t robot {posargs}

setenv =
COVERAGE_FILE=.coverage.{envname}
version_file=version_plone51.cfg
Plone43: version_file=version_plone43.cfg
Plone50: version_file=version_plone50.cfg
Plone51: version_file=version_plone51.cfg
Plone52: version_file=version_plone52.cfg

deps =
setuptools==40.2.0
zc.buildout==2.12.2
coverage

[testenv:coverage-report]
skip_install = true

deps =
coverage

setenv =
COVERAGE_FILE=.coverage

commands =
coverage erase
coverage combine
coverage html
coverage xml
coverage report

[testenv:code-analysis]
skip_install = true

commands =
{envbindir}/buildout -c {toxinidir}/buildout.cfg buildout:directory={envdir} buildout:develop={toxinidir} bootstrap
{envbindir}/buildout -c {toxinidir}/buildout.cfg buildout:directory={envdir} buildout:develop={toxinidir} install code-analysis
{envbindir}/code-analysis

deps =
{[testenv]deps}

[lint]
skip_install = true

deps =
isort
flake8
# helper to generate HTML reports:
flake8-html
# Useful flake8 plugins that are Python and Plone specific:
flake8-coding
flake8-debugger
flake8-deprecated
flake8-print
#flake8-pytest
flake8-todo
flake8-isort
mccabe
# Potential flake8 plugins that should be used: # TBD
#flake8-blind-except
#flake8-commas
#flake8-docstrings
#flake8-mypy
#flake8-pep3101
#flake8-plone-hasattr
#flake8-string-format
#flake8_strict
#flake8-quotes
#flake8-polyfill

commands =
mkdir -p {toxinidir}/reports/flake8
- flake8 --format=html --htmldir={toxinidir}/reports/flake8 --doctests src setup.py
flake8 --doctests src tests setup.py
isort --check-only --recursive {toxinidir}/src

whitelist_externals =
mkdir

[testenv:isort-apply]
skip_install = true

deps =
isort

commands =
isort --apply --recursive {toxinidir}/src

[testenv:lint-py27]
basepython = python2.7
skip_install = true
deps = {[lint]deps}
commands = {[lint]commands}
whitelist_externals = {[lint]whitelist_externals}

[testenv:lint-py34]
basepython = python3.4
skip_install = true
deps = {[lint]deps}
commands = {[lint]commands}
whitelist_externals = {[lint]whitelist_externals}

[testenv:lint-py35]
basepython = python3.5
skip_install = true
deps = {[lint]deps}
commands = {[lint]commands}
whitelist_externals = {[lint]whitelist_externals}

[testenv:lint-py36]
basepython = python3.6
skip_install = true
deps = {[lint]deps}
commands = {[lint]commands}
whitelist_externals = {[lint]whitelist_externals}

[testenv:lint-py37]
basepython = python3.7
skip_install = true
deps = {[lint]deps}
commands = {[lint]commands}
whitelist_externals = {[lint]whitelist_externals}

[testenv:docs]
skip_install = true

deps =
Sphinx

commands =
sphinx-build -b html -d _build/docs/doctrees docs _build/docs/html

[testenv:update_translation]
skip_install = true

deps =
i18ndude

commands =
i18ndude find-untranslated
i18ndude rebuild-pot
i18ndude merge
i18ndude sync
i18ndude list

[testenv:release]
skip_install = true

deps =
zest.releaser[recommended]

commands =
fullrelease --no-input -v

[testenv:build_instance]
basepython = python2.7
skip_install = true

commands =
{envbindir}/buildout -c {toxinidir}/{env:version_file} buildout:directory={toxinidir} bootstrap
{envbindir}/buildout -c {toxinidir}/{env:version_file} buildout:directory={toxinidir} annotate
{envbindir}/buildout -c {toxinidir}/{env:version_file} buildout:directory={toxinidir}
11 changes: 11 additions & 0 deletions version_plone43.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[buildout]

extends =
https://raw.github.com/collective/buildout.plonetest/master/test-4.3.x.cfg
http://dist.plone.org/release/4.3-latest/versions.cfg
buildout.cfg

update-versions-file = version_plone43.cfg

[versions]
collective.easyform = <2.0.0
10 changes: 10 additions & 0 deletions version_plone50.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[buildout]

extends =
https://raw.github.com/collective/buildout.plonetest/master/test-5.0.x.cfg
http://dist.plone.org/release/5.0-latest/versions.cfg
buildout.cfg

update-versions-file = version_plone50.cfg

[versions]
Loading

0 comments on commit f9244af

Please sign in to comment.