From 426ceb5676893885bfb53ea83ae7fd3bbf4624a4 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Tue, 29 Jun 2021 16:14:46 +0200 Subject: [PATCH 1/6] Add CFLAGS and -std=c90 runs to tox config --- tox.ini | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index 26982d0f..e8b0392a 100644 --- a/tox.ini +++ b/tox.ini @@ -4,8 +4,8 @@ # and then run "tox" from this directory. [tox] -# Note: when updating Python versions, also change setup.py and .travis.yml -envlist = py36,py37,py38,py39,py3-nosasltls,doc,py3-trace +# Note: when updating Python versions, also change setup.py and .github/worlflows/* +envlist = py{36,37,38,39},c90-py{36,37},py3-nosasltls,doc,py3-trace minver = 1.8 [gh-actions] @@ -21,6 +21,8 @@ deps = passenv = WITH_GCOV # - Enable BytesWarning # - Turn all warnings into exceptions. +setenv = + CFLAGS=-Wno-int-in-bool-context -Werror -Werror=declaration-after-statement -std=c99 commands = {envpython} -bb -Werror \ -m unittest discover -v -s Tests -p 't_*' {posargs} @@ -51,6 +53,11 @@ setenv = PYTHON_LDAP_TRACE_FILE={envtmpdir}/trace.log commands = {[testenv]commands} +[testenv:c90] +setenv = + CFLAGS=-Wno-int-in-bool-context -Werror -Werror=declaration-after-statement -std=c90 +commands = {envpython} -Werror -c "import ldap" # we just test compilation here + [testenv:macos] # Travis CI macOS image does not have slapd # SDK libldap does not support ldap_init_fd From 3ff7aa8d90b40f426a98b7764854f35e5f3141a9 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Tue, 29 Jun 2021 16:15:18 +0200 Subject: [PATCH 2/6] Add Python 3.10 to tox config --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index e8b0392a..6c172da8 100644 --- a/tox.ini +++ b/tox.ini @@ -5,7 +5,7 @@ [tox] # Note: when updating Python versions, also change setup.py and .github/worlflows/* -envlist = py{36,37,38,39},c90-py{36,37},py3-nosasltls,doc,py3-trace +envlist = py{36,37,38,39,310},c90-py{36,37},py3-nosasltls,doc,py3-trace minver = 1.8 [gh-actions] From c49250c3e9b8bb0193cb9bf4462755cdc920f957 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Tue, 29 Jun 2021 16:17:50 +0200 Subject: [PATCH 3/6] Remove mentions of Python 2 from docs & Makefile --- Doc/installing.rst | 10 +++++----- Doc/sample_workflow.rst | 6 +++--- Makefile | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Doc/installing.rst b/Doc/installing.rst index 56778220..521910e4 100644 --- a/Doc/installing.rst +++ b/Doc/installing.rst @@ -130,7 +130,7 @@ Alpine Packages for building:: - # apk add build-base openldap-dev python2-dev python3-dev + # apk add build-base openldap-dev python3-dev CentOS ------ @@ -145,12 +145,12 @@ Debian Packages for building and testing:: - # apt-get install build-essential python3-dev python2.7-dev \ + # apt-get install build-essential python3-dev \ libldap2-dev libsasl2-dev slapd ldap-utils tox \ lcov valgrind - + .. note:: - + On older releases ``tox`` was called ``python-tox``. Fedora @@ -159,7 +159,7 @@ Fedora Packages for building and testing:: # dnf install "@C Development Tools and Libraries" openldap-devel \ - python2-devel python3-devel python3-tox \ + python3-devel python3-tox \ lcov clang-analyzer valgrind .. note:: diff --git a/Doc/sample_workflow.rst b/Doc/sample_workflow.rst index 60d60cac..76017034 100644 --- a/Doc/sample_workflow.rst +++ b/Doc/sample_workflow.rst @@ -61,15 +61,15 @@ This will run tests on all supported versions of Python that you have installed, skipping the ones you don't. To run a subset of test environments, run for example:: - (__venv__)$ tox -e py27,py36 + (__venv__)$ tox -e py36,py39 In addition to ``pyXY`` environments, we have extra environments for checking things independent of the Python version: * ``doc`` checks syntax and spelling of the documentation * ``coverage-report`` generates a test coverage report for Python code. - It must be used last, e.g. ``tox -e py27,py36,coverage-report``. -* ``py2-nosasltls`` and ``py3-nosasltls`` check functionality without + It must be used last, e.g. ``tox -e py36,py39,coverage-report``. +* ``py3-nosasltls`` check functionality without SASL and TLS bindings compiled in. diff --git a/Makefile b/Makefile index f7360a66..577ba883 100644 --- a/Makefile +++ b/Makefile @@ -35,7 +35,7 @@ lcov-clean: if [ -d build ]; then find build -name '*.gc??' -delete; fi lcov-coverage: - WITH_GCOV=1 tox -e py27,py36 + WITH_GCOV=1 tox -e py36 $(LCOV_INFO): build lcov --capture --directory build --output-file $(LCOV_INFO) From c4920f3fdbdf65c85388fe5861edb92b50871c2d Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Tue, 29 Jun 2021 16:31:36 +0200 Subject: [PATCH 4/6] Update Travis CI mention in setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 20c31c5f..119b5715 100644 --- a/setup.py +++ b/setup.py @@ -90,7 +90,7 @@ class OpenLDAP2: 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', - # Note: when updating Python versions, also change .travis.yml and tox.ini + # Note: when updating Python versions, also change tox.ini and .github/workflows/* 'Topic :: Database', 'Topic :: Internet', From 8115bd5b8a01f2ff84df8cb26f2397d17491a0e4 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Tue, 29 Jun 2021 16:34:55 +0200 Subject: [PATCH 5/6] List the pypy3 tox environment --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 6c172da8..aaef8b5a 100644 --- a/tox.ini +++ b/tox.ini @@ -5,7 +5,7 @@ [tox] # Note: when updating Python versions, also change setup.py and .github/worlflows/* -envlist = py{36,37,38,39,310},c90-py{36,37},py3-nosasltls,doc,py3-trace +envlist = py{36,37,38,39,310},c90-py{36,37},py3-nosasltls,doc,py3-trace,pypy3 minver = 1.8 [gh-actions] From 037ecacae1650e272af2e8e35eb36732520c0587 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Tue, 29 Jun 2021 16:32:18 +0200 Subject: [PATCH 6/6] Add tox-fedora GH workflow --- .github/workflows/tox-fedora.yml | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/tox-fedora.yml diff --git a/.github/workflows/tox-fedora.yml b/.github/workflows/tox-fedora.yml new file mode 100644 index 00000000..c0dbb45c --- /dev/null +++ b/.github/workflows/tox-fedora.yml @@ -0,0 +1,34 @@ +on: [push, pull_request] + +name: Tox on Fedora + +jobs: + tox_test: + name: Tox env "${{matrix.tox_env}}" on Fedora + steps: + - uses: actions/checkout@v2 + - name: Run Tox tests + uses: fedora-python/tox-github-action@master + with: + tox_env: ${{ matrix.tox_env }} + dnf_install: > + @c-development openldap-devel python3-devel + openldap-servers openldap-clients lcov clang-analyzer valgrind + enchant + strategy: + matrix: + tox_env: + - py36 + - py37 + - py38 + - py39 + - py310 + - c90-py36 + - c90-py37 + - py3-nosasltls + - py3-trace + - pypy3 + - doc + + # Use GitHub's Linux Docker host + runs-on: ubuntu-latest