diff --git a/.travis.yml b/.travis.yml index 8998cbe23..686ee6e17 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,10 +5,11 @@ matrix: include: # We run tests on the latest supported version of Python first. # This is where additional tests are run so we give it more time. - - python: "3.10" + - python: "3.11" - python: "3.7" - python: "3.8" - python: "3.9" + - python: "3.10" install: - travis_retry sudo apt-get -y install python3-pip diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f7af4ce3..38fd33538 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ All notable changes to this project will be documented in this file. ## Unreleased * ### ALL * #### Added + * Support for Python 3.11 * #### Changed * Fix [#1888](https://github.com/ni/nimi-python/issues/1888): Deadlock on multithreaded usage due to UnlockSession always being called with callerHasLock=False. * #### Removed diff --git a/build/templates/tox-system_tests.ini.mako b/build/templates/tox-system_tests.ini.mako index 8e442be1a..e3b3d5423 100644 --- a/build/templates/tox-system_tests.ini.mako +++ b/build/templates/tox-system_tests.ini.mako @@ -26,7 +26,7 @@ # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/${module_name}) [tox] -envlist = ${wheel_env}py{37,38,39,310}-${module_name}-system_tests, py310-${module_name}-coverage +envlist = ${wheel_env}py{37,38,39,310,311}-${module_name}-system_tests, py311-${module_name}-coverage skip_missing_interpreters=True ignore_basepython_conflict=True # We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo @@ -90,7 +90,7 @@ deps = ${module_name}-coverage: codecov depends = - ${module_name}-coverage: py{37,38,39,310}-${module_name}-system_tests + ${module_name}-coverage: py{37,38,39,310,311}-${module_name}-system_tests % if uses_other_wheel: ${module_name}-system_tests: ${wheel_env} % endif diff --git a/generated/nidcpower/tox-system_tests.ini b/generated/nidcpower/tox-system_tests.ini index 9487dfb4d..dc141c540 100644 --- a/generated/nidcpower/tox-system_tests.ini +++ b/generated/nidcpower/tox-system_tests.ini @@ -3,7 +3,7 @@ # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nidcpower) [tox] -envlist = py{37,38,39,310}-nidcpower-system_tests, py310-nidcpower-coverage +envlist = py{37,38,39,310,311}-nidcpower-system_tests, py311-nidcpower-coverage skip_missing_interpreters=True ignore_basepython_conflict=True # We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo @@ -48,7 +48,7 @@ deps = nidcpower-coverage: codecov depends = - nidcpower-coverage: py{37,38,39,310}-nidcpower-system_tests + nidcpower-coverage: py{37,38,39,310,311}-nidcpower-system_tests passenv = GIT_BRANCH diff --git a/generated/nidigital/tox-system_tests.ini b/generated/nidigital/tox-system_tests.ini index ac42d61c2..87c61a03e 100644 --- a/generated/nidigital/tox-system_tests.ini +++ b/generated/nidigital/tox-system_tests.ini @@ -3,7 +3,7 @@ # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nidigital) [tox] -envlist = py3-nidigital-wheel_dep,py{37,38,39,310}-nidigital-system_tests, py310-nidigital-coverage +envlist = py3-nidigital-wheel_dep,py{37,38,39,310,311}-nidigital-system_tests, py311-nidigital-coverage skip_missing_interpreters=True ignore_basepython_conflict=True # We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo @@ -55,7 +55,7 @@ deps = nidigital-coverage: codecov depends = - nidigital-coverage: py{37,38,39,310}-nidigital-system_tests + nidigital-coverage: py{37,38,39,310,311}-nidigital-system_tests nidigital-system_tests: py3-nidigital-wheel_dep, passenv = diff --git a/generated/nidmm/tox-system_tests.ini b/generated/nidmm/tox-system_tests.ini index d5415a8cd..fba7714b9 100644 --- a/generated/nidmm/tox-system_tests.ini +++ b/generated/nidmm/tox-system_tests.ini @@ -3,7 +3,7 @@ # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nidmm) [tox] -envlist = py{37,38,39,310}-nidmm-system_tests, py310-nidmm-coverage +envlist = py{37,38,39,310,311}-nidmm-system_tests, py311-nidmm-coverage skip_missing_interpreters=True ignore_basepython_conflict=True # We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo @@ -48,7 +48,7 @@ deps = nidmm-coverage: codecov depends = - nidmm-coverage: py{37,38,39,310}-nidmm-system_tests + nidmm-coverage: py{37,38,39,310,311}-nidmm-system_tests passenv = GIT_BRANCH diff --git a/generated/nifake/tox-system_tests.ini b/generated/nifake/tox-system_tests.ini index 3cf99239a..51d467712 100644 --- a/generated/nifake/tox-system_tests.ini +++ b/generated/nifake/tox-system_tests.ini @@ -3,7 +3,7 @@ # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nifake) [tox] -envlist = py3-nifake-wheel_dep,py{37,38,39,310}-nifake-system_tests, py310-nifake-coverage +envlist = py3-nifake-wheel_dep,py{37,38,39,310,311}-nifake-system_tests, py311-nifake-coverage skip_missing_interpreters=True ignore_basepython_conflict=True # We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo @@ -55,7 +55,7 @@ deps = nifake-coverage: codecov depends = - nifake-coverage: py{37,38,39,310}-nifake-system_tests + nifake-coverage: py{37,38,39,310,311}-nifake-system_tests nifake-system_tests: py3-nifake-wheel_dep, passenv = diff --git a/generated/nifgen/tox-system_tests.ini b/generated/nifgen/tox-system_tests.ini index 2cdbfde53..897131811 100644 --- a/generated/nifgen/tox-system_tests.ini +++ b/generated/nifgen/tox-system_tests.ini @@ -3,7 +3,7 @@ # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nifgen) [tox] -envlist = py3-nifgen-wheel_dep,py{37,38,39,310}-nifgen-system_tests, py310-nifgen-coverage +envlist = py3-nifgen-wheel_dep,py{37,38,39,310,311}-nifgen-system_tests, py311-nifgen-coverage skip_missing_interpreters=True ignore_basepython_conflict=True # We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo @@ -55,7 +55,7 @@ deps = nifgen-coverage: codecov depends = - nifgen-coverage: py{37,38,39,310}-nifgen-system_tests + nifgen-coverage: py{37,38,39,310,311}-nifgen-system_tests nifgen-system_tests: py3-nifgen-wheel_dep, passenv = diff --git a/generated/nimodinst/tox-system_tests.ini b/generated/nimodinst/tox-system_tests.ini index 2c1ea523e..50adebd5b 100644 --- a/generated/nimodinst/tox-system_tests.ini +++ b/generated/nimodinst/tox-system_tests.ini @@ -3,7 +3,7 @@ # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nimodinst) [tox] -envlist = py{37,38,39,310}-nimodinst-system_tests, py310-nimodinst-coverage +envlist = py{37,38,39,310,311}-nimodinst-system_tests, py311-nimodinst-coverage skip_missing_interpreters=True ignore_basepython_conflict=True # We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo @@ -46,7 +46,7 @@ deps = nimodinst-coverage: codecov depends = - nimodinst-coverage: py{37,38,39,310}-nimodinst-system_tests + nimodinst-coverage: py{37,38,39,310,311}-nimodinst-system_tests passenv = GIT_BRANCH diff --git a/generated/niscope/tox-system_tests.ini b/generated/niscope/tox-system_tests.ini index 665dab148..21317a95a 100644 --- a/generated/niscope/tox-system_tests.ini +++ b/generated/niscope/tox-system_tests.ini @@ -3,7 +3,7 @@ # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/niscope) [tox] -envlist = py3-niscope-wheel_dep,py{37,38,39,310}-niscope-system_tests, py310-niscope-coverage +envlist = py3-niscope-wheel_dep,py{37,38,39,310,311}-niscope-system_tests, py311-niscope-coverage skip_missing_interpreters=True ignore_basepython_conflict=True # We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo @@ -55,7 +55,7 @@ deps = niscope-coverage: codecov depends = - niscope-coverage: py{37,38,39,310}-niscope-system_tests + niscope-coverage: py{37,38,39,310,311}-niscope-system_tests niscope-system_tests: py3-niscope-wheel_dep, passenv = diff --git a/generated/nise/tox-system_tests.ini b/generated/nise/tox-system_tests.ini index 9e1c4ef5e..09f5474da 100644 --- a/generated/nise/tox-system_tests.ini +++ b/generated/nise/tox-system_tests.ini @@ -3,7 +3,7 @@ # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nise) [tox] -envlist = py{37,38,39,310}-nise-system_tests, py310-nise-coverage +envlist = py{37,38,39,310,311}-nise-system_tests, py311-nise-coverage skip_missing_interpreters=True ignore_basepython_conflict=True # We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo @@ -46,7 +46,7 @@ deps = nise-coverage: codecov depends = - nise-coverage: py{37,38,39,310}-nise-system_tests + nise-coverage: py{37,38,39,310,311}-nise-system_tests passenv = GIT_BRANCH diff --git a/generated/niswitch/tox-system_tests.ini b/generated/niswitch/tox-system_tests.ini index d6f3606ab..841e50583 100644 --- a/generated/niswitch/tox-system_tests.ini +++ b/generated/niswitch/tox-system_tests.ini @@ -3,7 +3,7 @@ # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/niswitch) [tox] -envlist = py{37,38,39,310}-niswitch-system_tests, py310-niswitch-coverage +envlist = py{37,38,39,310,311}-niswitch-system_tests, py311-niswitch-coverage skip_missing_interpreters=True ignore_basepython_conflict=True # We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo @@ -48,7 +48,7 @@ deps = niswitch-coverage: codecov depends = - niswitch-coverage: py{37,38,39,310}-niswitch-system_tests + niswitch-coverage: py{37,38,39,310,311}-niswitch-system_tests passenv = GIT_BRANCH diff --git a/generated/nitclk/tox-system_tests.ini b/generated/nitclk/tox-system_tests.ini index 229ce7cac..af77d7a8f 100644 --- a/generated/nitclk/tox-system_tests.ini +++ b/generated/nitclk/tox-system_tests.ini @@ -3,7 +3,7 @@ # test suite on all supported python versions. To use it, "pip install tox" # and then run "tox -c tox-system_tests.ini" from the driver directory. (generated/nitclk) [tox] -envlist = py3-nitclk-wheel_dep,py{37,38,39,310}-nitclk-system_tests, py310-nitclk-coverage +envlist = py3-nitclk-wheel_dep,py{37,38,39,310,311}-nitclk-system_tests, py311-nitclk-coverage skip_missing_interpreters=True ignore_basepython_conflict=True # We put the .tox directory outside of the Jenkins workspace so that it isn't wiped with the rest of the repo @@ -53,7 +53,7 @@ deps = nitclk-coverage: codecov depends = - nitclk-coverage: py{37,38,39,310}-nitclk-system_tests + nitclk-coverage: py{37,38,39,310,311}-nitclk-system_tests nitclk-system_tests: py3-nitclk-wheel_dep, passenv = diff --git a/tox-travis.ini b/tox-travis.ini index fbdb96e82..04379d1d5 100644 --- a/tox-travis.ini +++ b/tox-travis.ini @@ -7,9 +7,9 @@ # tox-travis.ini will have pyXX-clean and all pyXX-installers in the default envlist, while the developer tox.ini # does not have clean and only has one pyXX-installers # Uncomment this line for tox.ini -# envlist = py310-build_test,py310-codegen,py310-installers,py{37,38,39,310}-test,py310-flake8,py310-docs,py310-pkg +# envlist = py311-build_test,py311-codegen,py311-installers,py{37,38,39,310,311}-test,py311-flake8,py311-docs,py311-pkg # Uncomment this line for tox-travis.ini -envlist = py310-clean,py310-build_test,py310-codegen,py{37,38,39,310}-installers,py{37,38,39,310}-test,py310-flake8,py310-docs,py310-pkg +envlist = py311-clean,py311-build_test,py311-codegen,py{37,38,39,310,311}-installers,py{37,38,39,310,311}-test,py311-flake8,py311-docs,py311-pkg skip_missing_interpreters=True ignore_basepython_conflict=True skipsdist = true @@ -149,12 +149,12 @@ deps = pkg: twine depends = - codegen: py310-clean - installers: py310-codegen - flake8: py310-codegen - docs: py310-codegen - test: py310-installers - pkg: py310-installers + codegen: py311-clean + installers: py311-codegen + flake8: py311-codegen + docs: py311-codegen + test: py311-installers + pkg: py311-installers allowlist_externals = build_test: mv diff --git a/tox.ini b/tox.ini index b3f01bfee..ad430589b 100644 --- a/tox.ini +++ b/tox.ini @@ -7,9 +7,9 @@ # tox-travis.ini will have pyXX-clean and all pyXX-installers in the default envlist, while the developer tox.ini # does not have clean and only has one pyXX-installers # Uncomment this line for tox.ini -envlist = py310-build_test,py310-codegen,py310-installers,py{37,38,39,310}-test,py310-flake8,py310-docs,py310-pkg +envlist = py311-build_test,py311-codegen,py311-installers,py{37,38,39,310,311}-test,py311-flake8,py311-docs,py311-pkg # Uncomment this line for tox-travis.ini -# envlist = py310-clean,py310-build_test,py310-codegen,py{37,38,39,310}-installers,py{37,38,39,310}-test,py310-flake8,py310-docs,py310-pkg +# envlist = py311-clean,py311-build_test,py311-codegen,py{37,38,39,310,311}-installers,py{37,38,39,310,311}-test,py311-flake8,py311-docs,py311-pkg skip_missing_interpreters=True ignore_basepython_conflict=True skipsdist = true @@ -149,12 +149,12 @@ deps = pkg: twine depends = - codegen: py310-clean - installers: py310-codegen - flake8: py310-codegen - docs: py310-codegen - test: py310-installers - pkg: py310-installers + codegen: py311-clean + installers: py311-codegen + flake8: py311-codegen + docs: py311-codegen + test: py311-installers + pkg: py311-installers allowlist_externals = build_test: mv