Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Backport 1.5.latest] Move to pre-commit only (#777) #859

Merged
merged 1 commit into from
Jul 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 0 additions & 14 deletions .flake8

This file was deleted.

1 change: 0 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ jobs:
python -m pip install -r dev-requirements.txt
python -m pip --version
pre-commit --version
mypy --version
dbt --version

- name: pre-commit hooks
Expand Down
102 changes: 43 additions & 59 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,63 +1,47 @@
# For more on configuring pre-commit hooks (see https://pre-commit.com/)

# Force all unspecified python hooks to run python 3.8
default_language_version:
python: python3
python: python3

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-yaml
args: [--unsafe]
- id: check-json
- id: end-of-file-fixer
- id: trailing-whitespace
- id: check-case-conflict
- repo: https://github.com/psf/black
rev: 23.1.0
hooks:
- id: black
additional_dependencies: ['click~=8.1']
args:
- "--line-length=99"
- "--target-version=py38"
- id: black
alias: black-check
stages: [manual]
additional_dependencies: ['click~=8.1']
args:
- "--line-length=99"
- "--target-version=py38"
- "--check"
- "--diff"
- repo: https://github.com/pycqa/flake8
rev: 6.0.0
hooks:
- id: flake8
- id: flake8
alias: flake8-check
stages: [manual]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.1.1
hooks:
- id: mypy
# N.B.: Mypy is... a bit fragile.
#
# By using `language: system` we run this hook in the local
# environment instead of a pre-commit isolated one. This is needed
# to ensure mypy correctly parses the project.
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-yaml
args: [--unsafe]
- id: check-json
- id: end-of-file-fixer
- id: trailing-whitespace
- id: check-case-conflict

- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black
args:
- --line-length=99
- --target-version=py38

- repo: https://github.com/pycqa/flake8
rev: 6.0.0
hooks:
- id: flake8
exclude: tests/
args:
- --max-line-length=99
- --select=E,F,W
- --ignore=E203,E501,E741,W503,W504
- --per-file-ignores=*/__init__.py:F401
additional_dependencies: [flaky]

# It may cause trouble in that it adds environmental variables out
# of our control to the mix. Unfortunately, there's nothing we can
# do about per pre-commit's author.
# See https://github.com/pre-commit/pre-commit/issues/730 for details.
args: [--show-error-codes, --ignore-missing-imports, --explicit-package-bases]
files: ^dbt/adapters/.*
language: system
- id: mypy
alias: mypy-check
stages: [manual]
args: [--show-error-codes, --pretty, --ignore-missing-imports, --explicit-package-bases]
files: ^dbt/adapters
language: system
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.2.0
hooks:
- id: mypy
args:
- --show-error-codes
- --pretty
- --ignore-missing-imports
- --explicit-package-bases
files: ^dbt/adapters
additional_dependencies:
- types-pytz
- types-requests
13 changes: 7 additions & 6 deletions dbt/adapters/redshift/connections.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from redshift_connector.utils.oids import get_datatype_name

from dbt.adapters.sql import SQLConnectionManager
import dbt.clients.agate_helper
from dbt.contracts.connection import AdapterResponse, Connection, Credentials
from dbt.contracts.util import Replaceable
from dbt.dataclass_schema import FieldEncoder, dbtClassMixin, StrEnum, ValidationError
Expand Down Expand Up @@ -62,7 +63,7 @@ class UserSSLMode(StrEnum):
@classmethod
def default(cls) -> "UserSSLMode":
# default for `psycopg2`, which aligns with dbt-redshift 1.4 and provides backwards compatibility
return cls.prefer
return cls("prefer")


class RedshiftSSLMode(StrEnum):
Expand All @@ -72,11 +73,11 @@ class RedshiftSSLMode(StrEnum):

SSL_MODE_TRANSLATION = {
UserSSLMode.disable: None,
UserSSLMode.allow: RedshiftSSLMode.verify_ca,
UserSSLMode.prefer: RedshiftSSLMode.verify_ca,
UserSSLMode.require: RedshiftSSLMode.verify_ca,
UserSSLMode.verify_ca: RedshiftSSLMode.verify_ca,
UserSSLMode.verify_full: RedshiftSSLMode.verify_full,
UserSSLMode.allow: RedshiftSSLMode("verify-ca"),
UserSSLMode.prefer: RedshiftSSLMode("verify-ca"),
UserSSLMode.require: RedshiftSSLMode("verify-ca"),
UserSSLMode.verify_ca: RedshiftSSLMode("verify-ca"),
UserSSLMode.verify_full: RedshiftSSLMode("verify-full"),
}


Expand Down
22 changes: 9 additions & 13 deletions dev-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,24 @@ git+https://github.com/dbt-labs/[email protected]#egg=dbt-core&subdirector
git+https://github.com/dbt-labs/[email protected]#egg=dbt-tests-adapter&subdirectory=tests/adapter
git+https://github.com/dbt-labs/[email protected]#egg=dbt-postgres&subdirectory=plugins/postgres

# if version 1.x or greater -> pin to major version
# if version 0.x -> pin to minor
black~=23.3
bumpversion~=0.6.0
# dev
ipdb~=0.13.13
pre-commit==3.2.0

# test
click~=8.1
ddtrace~=1.16
flake8~=6.0
flaky~=3.7
freezegun~=1.2
ipdb~=0.13.13
mypy==1.2.0 # patch updates have historically introduced breaking changes
pip-tools~=6.13
pre-commit~=3.2
pre-commit-hooks~=4.4
pytest~=7.3
pytest-csv~=3.0
pytest-dotenv~=0.5.2
pytest-logbook~=1.2
pytest-xdist~=3.2
pytz~=2023.3
tox~=4.5
types-pytz~=2023.3
types-requests~=2.28

# build
bumpversion~=0.6.0
pip-tools~=6.13
twine~=4.0
wheel~=0.40
2 changes: 0 additions & 2 deletions mypy.ini

This file was deleted.

1 change: 1 addition & 0 deletions tests/unit/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
Note that all imports should be inside the functions to avoid import/mocking
issues.
"""

import string
import os
from unittest import mock
Expand Down
Loading