From 032b5b586ae5cd3e22b0559c546fb77bec7ac6a6 Mon Sep 17 00:00:00 2001 From: Matthew McKnight Date: Fri, 14 Apr 2023 15:33:14 -0500 Subject: [PATCH 1/3] update RELEASE_BRANCH env --- .github/workflows/nightly-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly-release.yml b/.github/workflows/nightly-release.yml index 54c5fdc69..4762d1218 100644 --- a/.github/workflows/nightly-release.yml +++ b/.github/workflows/nightly-release.yml @@ -26,7 +26,7 @@ defaults: shell: bash env: - RELEASE_BRANCH: "1.4.latest" + RELEASE_BRANCH: "1.5.latest" jobs: aggregate-release-data: From 26b054a1018773432fb6b8c9d92f38b6595e0251 Mon Sep 17 00:00:00 2001 From: Matthew McKnight Date: Tue, 30 May 2023 16:05:34 -0500 Subject: [PATCH 2/3] drop support for python 3.7 --- .github/scripts/integration-test-matrix.js | 2 +- .github/workflows/main.yml | 4 ++-- dev-requirements.txt | 3 --- setup.py | 10 +++++----- tox.ini | 6 +++--- 5 files changed, 11 insertions(+), 14 deletions(-) diff --git a/.github/scripts/integration-test-matrix.js b/.github/scripts/integration-test-matrix.js index b1c290fbf..5cc39722e 100644 --- a/.github/scripts/integration-test-matrix.js +++ b/.github/scripts/integration-test-matrix.js @@ -1,6 +1,6 @@ module.exports = ({ context }) => { const defaultPythonVersion = "3.8"; - const supportedPythonVersions = ["3.7", "3.8", "3.9", "3.10", "3.11"]; + const supportedPythonVersions = ["3.8", "3.9", "3.10", "3.11"]; const supportedAdapters = ["snowflake"]; // if PR, generate matrix based on files changed and PR labels diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 26afdf392..a0d1ba6cb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -72,7 +72,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] + python-version: ['3.8', '3.9', '3.10', '3.11'] env: TOXENV: "unit" @@ -174,7 +174,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] - python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] + python-version: ['3.8', '3.9', '3.10', '3.11'] steps: - name: Set up Python ${{ matrix.python-version }} diff --git a/dev-requirements.txt b/dev-requirements.txt index ec293b25b..20cf1e1bc 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -8,14 +8,12 @@ git+https://github.com/dbt-labs/dbt-core.git#egg=dbt-tests-adapter&subdirectory= black~=23.3 bumpversion~=0.6.0 click~=8.1 -flake8~=5.0;python_version=="3.7" flake8~=6.0;python_version>="3.8" flaky~=3.7 freezegun~=1.2 ipdb~=0.13.13 mypy==1.3.0 # patch updates have historically introduced breaking changes pip-tools~=6.13 -pre-commit~=2.21;python_version=="3.7" pre-commit~=3.2;python_version>="3.8" pre-commit-hooks~=4.4 pytest~=7.3 @@ -24,7 +22,6 @@ pytest-dotenv~=0.5.2 pytest-logbook~=1.2 pytest-xdist~=3.2 pytz~=2023.3 -tox~=3.0;python_version=="3.7" tox~=4.4;python_version>="3.8" types-pytz~=2023.3 types-requests~=2.28 diff --git a/setup.py b/setup.py index 19f04aad8..e57d75b6f 100644 --- a/setup.py +++ b/setup.py @@ -3,10 +3,10 @@ import sys import re -# require python 3.7 or newer -if sys.version_info < (3, 7): +# require python 3.8 or newer +if sys.version_info < (3, 8): print("Error: dbt does not support this version of Python.") - print("Please upgrade to Python 3.7 or higher.") + print("Please upgrade to Python 3.8 or higher.") sys.exit(1) @@ -77,11 +77,11 @@ def _get_dbt_core_version(): "Operating System :: Microsoft :: Windows", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: Linux", - "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", ], - python_requires=">=3.7", + python_requires=">=3.8", ) diff --git a/tox.ini b/tox.ini index 36d8c4baa..2c02bb569 100644 --- a/tox.ini +++ b/tox.ini @@ -1,8 +1,8 @@ [tox] skipsdist = True -envlist = py37,py38,py39,py310,py311 +envlist = py38,py39,py310,py311 -[testenv:{unit,py37,py38,py39,py310,py311,py}] +[testenv:{unit,py38,py39,py310,py311,py}] description = unit testing skip_install = true passenv = @@ -13,7 +13,7 @@ deps = -rdev-requirements.txt -e. -[testenv:{integration,py37,py38,py39,py310,py311,py}-{snowflake}] +[testenv:{integration,py38,py39,py310,py311,py}-{snowflake}] description = adapter plugin integration testing skip_install = true passenv = From 461b8062017c12a7400e493ab0a3292aa3b98756 Mon Sep 17 00:00:00 2001 From: Matthew McKnight Date: Tue, 30 May 2023 16:14:01 -0500 Subject: [PATCH 3/3] add changelog entry --- .changes/unreleased/Under the Hood-20230530-161341.yaml | 6 ++++++ CONTRIBUTING.md | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changes/unreleased/Under the Hood-20230530-161341.yaml diff --git a/.changes/unreleased/Under the Hood-20230530-161341.yaml b/.changes/unreleased/Under the Hood-20230530-161341.yaml new file mode 100644 index 000000000..31acaf121 --- /dev/null +++ b/.changes/unreleased/Under the Hood-20230530-161341.yaml @@ -0,0 +1,6 @@ +kind: Under the Hood +body: remove support for python 3.7 +time: 2023-05-30T16:13:41.217839-05:00 +custom: + Author: McKnight-42 + Issue: "638" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d8cb81d83..45e0054c5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -79,7 +79,7 @@ WARNING: The parameters in your `test.env` file must link to a valid Snowflake a There are a few methods for running tests locally. #### `tox` -`tox` automatically runs unit tests against several Python versions using its own virtualenvs. Run `tox -p` to run unit tests for Python 3.7, Python 3.8, Python 3.9, Python 3.10, and `flake8` in parallel. Run `tox -e py37` to invoke tests on Python version 3.7 only (use py37, py38, py39, or py310). Tox recipes are found in `tox.ini`. +`tox` automatically runs unit tests against several Python versions using its own virtualenvs. Run `tox -p` to run unit tests for Python 3.8, Python 3.9, Python 3.10, and `flake8` in parallel. Run `tox -e py38` to invoke tests on Python version 3.8 only (use py38, py39, or py310). Tox recipes are found in `tox.ini`. #### `pytest` You may run a specific test or group of tests using `pytest` directly. Activate a Python virtualenv active with dev dependencies installed. Then, run tests like so: