Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 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
2 changes: 1 addition & 1 deletion .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ env:
# Increment the build number to force new pip cache upload.
PIP_CACHE_BUILD: "0"
# Pip packages to be upgraded/installed.
PIP_CACHE_PACKAGES: "nox pip setuptools wheel"
PIP_CACHE_PACKAGES: "nox pip pyyaml setuptools wheel"
# Conda packages to be installed.
CONDA_CACHE_PACKAGES: "nox pip"
# Git commit hash for iris test data.
Expand Down
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ repos:
hooks:
- id: black
pass_filenames: false
args: [--config=./pyproject.toml, --check, .]
args: [--config=./pyproject.toml, .]

- repo: https://github.com/PyCQA/flake8
rev: 3.9.2
Expand All @@ -46,7 +46,7 @@ repos:
hooks:
- id: isort
types: [file, python]
args: [--filter-files, --check]
args: [--filter-files]

- repo: https://github.com/asottile/blacken-docs
rev: v1.10.0
Expand Down
25 changes: 20 additions & 5 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -173,13 +173,28 @@ def lint(session: nox.sessions.Session):
A `nox.sessions.Session` object.

"""
import yaml

# Pip install the session requirements.
session.install("pre-commit")
# Execute the pre-commit linting tasks.
cmd = ["pre-commit", "run", "--all-files"]
hooks = ["black", "blacken-docs", "flake8", "isort"]
for hook in hooks:
session.run(*cmd, hook)

# Load the pre-commit configuration YAML file.
with open(".pre-commit-config.yaml", "r") as fi:
config = yaml.load(fi, Loader=yaml.FullLoader)

# Enumerate the ids of pre-commit hooks we want to run.
# We're only capturing the hook id of pre-commit repos with *one*
# registered hook. This is a simple approach to filtering out
# the "https://github.com/pre-commit/pre-commit-hooks" hooks,
# all of which we don't want to run within nox.
ids = [
entry["hooks"][0]["id"]
for entry in config["repos"]
if len(entry["hooks"]) == 1
]

# Execute the pre-commit linting hooks.
[session.run("pre-commit", "run", "--all-files", id) for id in ids]


@nox.session(python=PY_VER, venv_backend="conda")
Expand Down