forked from dbt-labs/dbt-spark
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add commit hook tooling. (dbt-labs#356)
* Add commit hook tooling. (dbt-labs#346) * Make pre commit code changes (dbt-labs#345) * Refactor exception function using accurate type specs. * Upgrade the mypy version in order to use TypeAlias-es. * Upgrade the mypy version in the worfklow. Fix bug introduced by using str's instead of Optional[str]'s * Address code review comments: Remove integration test command since there are multiple ways we can run tests in spark. * Add changelog entry * Altering names of dev_requirements references.
- Loading branch information
1 parent
f03d217
commit 5ff1c42
Showing
33 changed files
with
489 additions
and
405 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
[flake8] | ||
select = | ||
E | ||
W | ||
F | ||
ignore = | ||
W503 # makes Flake8 work like black | ||
W504 | ||
E203 # makes Flake8 work like black | ||
E741 | ||
E501 | ||
exclude = test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,4 +5,4 @@ updates: | |
directory: "/" | ||
schedule: | ||
interval: "daily" | ||
rebase-strategy: "disabled" | ||
rebase-strategy: "disabled" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,4 +7,4 @@ assignees: '' | |
|
||
--- | ||
|
||
### TBD | ||
### TBD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,7 +13,7 @@ name: Jira Issue Creation | |
on: | ||
issues: | ||
types: [opened, labeled] | ||
|
||
permissions: | ||
issues: write | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,47 @@ | ||
.hive-metastore/ | ||
.spark-warehouse/ | ||
*.egg-info | ||
env/ | ||
*.pyc | ||
# Byte-compiled / optimized / DLL files | ||
__pycache__ | ||
*.py[cod] | ||
*$py.class | ||
|
||
# Distribution / packaging | ||
.Python | ||
build/ | ||
env*/ | ||
dbt_env/ | ||
dist/ | ||
*.egg-info | ||
logs/ | ||
|
||
|
||
# Unit test | ||
.tox/ | ||
.env | ||
test.env | ||
|
||
|
||
# Django stuff | ||
*.log | ||
|
||
# Mypy | ||
*.pytest_cache/ | ||
|
||
# Vim | ||
*.sw* | ||
|
||
# Pyenv | ||
.python-version | ||
|
||
# pycharm | ||
.idea/ | ||
build/ | ||
dist/ | ||
dbt-integration-tests | ||
test/integration/.user.yml | ||
|
||
# MacOS | ||
.DS_Store | ||
test.env | ||
|
||
# vscode | ||
.vscode | ||
*.log | ||
logs/ | ||
|
||
# other | ||
.hive-metastore/ | ||
.spark-warehouse/ | ||
dbt-integration-tests | ||
test/integration/.user.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
# For more on configuring pre-commit hooks (see https://pre-commit.com/) | ||
|
||
# TODO: remove global exclusion of tests when testing overhaul is complete | ||
exclude: '^tests/.*' | ||
|
||
# Force all unspecified python hooks to run python 3.8 | ||
default_language_version: | ||
python: python3.8 | ||
|
||
repos: | ||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v3.2.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: 21.12b0 | ||
hooks: | ||
- id: black | ||
additional_dependencies: ['click==8.0.4'] | ||
args: | ||
- "--line-length=99" | ||
- "--target-version=py38" | ||
- id: black | ||
alias: black-check | ||
stages: [manual] | ||
additional_dependencies: ['click==8.0.4'] | ||
args: | ||
- "--line-length=99" | ||
- "--target-version=py38" | ||
- "--check" | ||
- "--diff" | ||
- repo: https://gitlab.com/pycqa/flake8 | ||
rev: 4.0.1 | ||
hooks: | ||
- id: flake8 | ||
- id: flake8 | ||
alias: flake8-check | ||
stages: [manual] | ||
- repo: https://github.com/pre-commit/mirrors-mypy | ||
rev: v0.950 | ||
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. | ||
|
||
# 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] | ||
files: ^dbt/adapters/.* | ||
language: system | ||
- id: mypy | ||
alias: mypy-check | ||
stages: [manual] | ||
args: [--show-error-codes, --pretty, --ignore-missing-imports] | ||
files: ^dbt/adapters | ||
language: system |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
recursive-include dbt/include *.sql *.yml *.md | ||
recursive-include dbt/include *.sql *.yml *.md |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
.DEFAULT_GOAL:=help | ||
|
||
.PHONY: dev | ||
dev: ## Installs adapter in develop mode along with development depedencies | ||
@\ | ||
pip install -r dev-requirements.txt && pre-commit install | ||
|
||
.PHONY: mypy | ||
mypy: ## Runs mypy against staged changes for static type checking. | ||
@\ | ||
pre-commit run --hook-stage manual mypy-check | grep -v "INFO" | ||
|
||
.PHONY: flake8 | ||
flake8: ## Runs flake8 against staged changes to enforce style guide. | ||
@\ | ||
pre-commit run --hook-stage manual flake8-check | grep -v "INFO" | ||
|
||
.PHONY: black | ||
black: ## Runs black against staged changes to enforce style guide. | ||
@\ | ||
pre-commit run --hook-stage manual black-check -v | grep -v "INFO" | ||
|
||
.PHONY: lint | ||
lint: ## Runs flake8 and mypy code checks against staged changes. | ||
@\ | ||
pre-commit run flake8-check --hook-stage manual | grep -v "INFO"; \ | ||
pre-commit run mypy-check --hook-stage manual | grep -v "INFO" | ||
|
||
.PHONY: linecheck | ||
linecheck: ## Checks for all Python lines 100 characters or more | ||
@\ | ||
find dbt -type f -name "*.py" -exec grep -I -r -n '.\{100\}' {} \; | ||
|
||
.PHONY: unit | ||
unit: ## Runs unit tests with py38. | ||
@\ | ||
tox -e py38 | ||
|
||
.PHONY: test | ||
test: ## Runs unit tests with py38 and code checks against staged changes. | ||
@\ | ||
tox -p -e py38; \ | ||
pre-commit run black-check --hook-stage manual | grep -v "INFO"; \ | ||
pre-commit run flake8-check --hook-stage manual | grep -v "INFO"; \ | ||
pre-commit run mypy-check --hook-stage manual | grep -v "INFO" | ||
|
||
.PHONY: clean | ||
@echo "cleaning repo" | ||
@git clean -f -X | ||
|
||
.PHONY: help | ||
help: ## Show this help message. | ||
@echo 'usage: make [target]' | ||
@echo | ||
@echo 'targets:' | ||
@grep -E '^[7+a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.