diff --git a/.editorconfig b/.editorconfig index 615323a..824b9c3 100644 --- a/.editorconfig +++ b/.editorconfig @@ -28,7 +28,7 @@ max_line_length = off # 4 space indentation indent_size = 4 -[*.{yml,zpt,pt,dtml}] +[*.{yml,zpt,pt,dtml,zcml}] # 2 space indentation indent_size = 2 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a041880..5a48b99 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -13,22 +13,25 @@ on: jobs: build: strategy: - # We want do see all failures: + # We want to see all failures: fail-fast: false matrix: + os: + - ubuntu config: # [Python version, tox env] - - ["3.8", "lint"] + - ["3.9", "lint"] - ["2.7", "py27"] - ["3.5", "py35"] - ["3.6", "py36"] - ["3.7", "py37"] - ["3.8", "py38"] - ["3.9", "py39"] - - ["3.8", "docs"] - - ["3.8", "coverage"] + - ["3.10", "py310"] + - ["3.9", "docs"] + - ["3.9", "coverage"] - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }}-latest name: ${{ matrix.config[1] }} steps: - uses: actions/checkout@v2 diff --git a/.gitignore b/.gitignore index f8055eb..5abcfe9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,11 @@ # Generated from: # https://github.com/zopefoundation/meta/tree/master/config/zope-product +*.dll *.egg-info/ *.profraw *.pyc *.pyo +*.so .coverage .coverage.* .eggs/ diff --git a/.meta.toml b/.meta.toml index 5b9ff99..f55cf89 100644 --- a/.meta.toml +++ b/.meta.toml @@ -2,14 +2,15 @@ # https://github.com/zopefoundation/meta/tree/master/config/zope-product [meta] template = "zope-product" -commit-id = "f8468b0bc5c92479b3043372d89cf5852176015d" +commit-id = "efb3f62f0f2d8deea657bae8db49a191698e62ef" [python] -with-appveyor = false with-pypy = false with-legacy-python = true with-docs = true with-sphinx-doctests = false +with-windows = false +with-future-python = false [coverage] fail-under = 76 diff --git a/CHANGES.txt b/CHANGES.txt index 8e067dc..4c40d34 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -10,7 +10,7 @@ Breaking changes: New features: -- *add item here* +- Add support for Python 3.10. Bug fixes: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..b5c34d4 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,23 @@ + +# Contributing to zopefoundation projects + +The projects under the zopefoundation GitHub organization are open source and +welcome contributions in different forms: + +* bug reports +* code improvements and bug fixes +* documentation improvements +* pull request reviews + +For any changes in the repository besides trivial typo fixes you are required +to sign the contributor agreement. See +https://www.zope.dev/developer/becoming-a-committer.html for details. + +Please visit our [Developer +Guidelines](https://www.zope.dev/developer/guidelines.html) if you'd like to +contribute code changes and our [guidelines for reporting +bugs](https://www.zope.dev/developer/reporting-bugs.html) if you want to file a +bug report. diff --git a/MANIFEST.in b/MANIFEST.in index 0a22c45..b958979 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,5 +1,6 @@ # Generated from: # https://github.com/zopefoundation/meta/tree/master/config/zope-product +include *.md include *.rst include *.txt include buildout.cfg diff --git a/setup.py b/setup.py index 4b4b4e4..3c626f1 100644 --- a/setup.py +++ b/setup.py @@ -33,6 +33,7 @@ def _package_doc(name): 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', 'Topic :: Software Development', 'Topic :: Software Development :: Libraries :: Application Frameworks', ], diff --git a/tox.ini b/tox.ini index 09b0fd1..7997955 100644 --- a/tox.ini +++ b/tox.ini @@ -10,16 +10,15 @@ envlist = py37 py38 py39 + py310 docs coverage [testenv] skip_install = true -# We need to pin setuptools until we have zc.buildout 3.0. deps = - setuptools < 52 - zc.buildout - zope.testrunner + zc.buildout >= 3.0.0rc3 + wheel > 0.37 commands_pre = py27,py35: {envbindir}/buildout -nc {toxinidir}/buildout4.cfg buildout:directory={envdir} buildout:develop={toxinidir} install test !py27-!py35: {envbindir}/buildout -nc {toxinidir}/buildout.cfg buildout:directory={envdir} buildout:develop={toxinidir} install test @@ -34,7 +33,7 @@ allowlist_externals = mkdir commands = isort --check-only --diff {toxinidir}/src {toxinidir}/setup.py - - flake8 --format=html {toxinidir}/src {toxinidir}/setup.py + - flake8 {toxinidir}/src {toxinidir}/setup.py flake8 {toxinidir}/src {toxinidir}/setup.py check-manifest check-python-versions @@ -43,8 +42,6 @@ deps = check-python-versions flake8 isort - # helper to generate HTML reports: - flake8-html # Useful flake8 plugins that are Python and Plone specific: flake8-coding flake8-debugger @@ -61,8 +58,6 @@ commands = [testenv:docs] basepython = python3 skip_install = false -# Until repoze.sphinx.autointerface supports Sphinx 4.x we cannot use it: -deps = Sphinx < 4 extras = docs commands_pre = @@ -87,7 +82,7 @@ commands = [coverage:run] branch = True plugins = coverage_python_version -source = src +source = Products.DCWorkflow [coverage:report] precision = 2