salt/.pre-commit-config.yaml
bdrx312 66caa58346 Fix issues with requisites and aggregate
add install of networkx
fix aggregate to properly work with requisites
fix requisite checking to not be exponential
fix pkg aggregate to work when multiple states specify the same package
add some type hints to state.py to make the code easier to follow
fix case of pkg aggregate duplicate package.
2024-10-10 01:53:52 -07:00

1564 lines
56 KiB
YAML

---
default_language_version:
python: python3
exclude: ^(doc/_static/.*|doc/_themes/.*)$
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: check-merge-conflict # Check for files that contain merge conflict strings.
- id: trailing-whitespace # Trims trailing whitespace.
args:
- --markdown-linebreak-ext=md
exclude: >
(?x)^(
pkg/macos/pkg-resources/.*\.rtf
)$
- id: mixed-line-ending # Replaces or checks mixed line ending.
args:
- --fix=lf
- id: end-of-file-fixer # Makes sure files end in a newline and only a newline.
- id: check-ast # Simply check whether files parse as valid python.
exclude: >
(?x)^(
templates/.*
)$
- id: check-case-conflict # Check for files with names that would conflict on a
# case-insensitive filesystem like MacOS HFS+ or Windows FAT.
- id: check-json # Attempts to load all json files to verify syntax.
- id: check-symlinks # Checks for symlinks which do not point to anything.
- id: debug-statements # Check for debugger imports and py37+ breakpoint() calls in python source.
exclude: >
(?x)^(
templates/.*
)$
- id: fix-byte-order-marker # removes UTF-8 byte order marker
- id: forbid-submodules # forbids any submodules in the repository.
- id: fix-encoding-pragma # Remove `# -*- coding: utf-8 -*-` from the top of python files.
args:
- --remove
exclude: >
(?x)^(
salt/ext/.*
)$
- repo: https://github.com/saltstack/python-tools-scripts
rev: "0.20.0"
hooks:
- id: tools
alias: check-changelog-entries
name: Check Changelog Entries
args:
- pre-commit
- changelog
- pre-commit-checks
- id: tools
alias: generate-workflows
name: Generate GitHub Workflow Templates
files: ^(cicd/shared-gh-workflows-context\.yml|tools/precommit/workflows\.py|.github/workflows/.*)$
pass_filenames: false
args:
- pre-commit
- workflows
- generate-workflows
- id: tools
alias: actionlint
name: Lint GitHub Actions Workflows
files: "^.github/workflows/"
types:
- yaml
args:
- pre-commit
- workflows
- actionlint
- id: tools
alias: check-docs
name: Check Docs
files: ^(salt/.*\.py|doc/ref/.*\.rst)$
args:
- pre-commit
- docs
- check
- id: tools
alias: check-docstrings
name: Check docstrings
files: salt/.*\.py$
exclude: >
(?x)^(
templates/.*|
salt/ext/.*|
)$
args:
- pre-commit
- docstrings
- check
- id: tools
alias: check-known-missing-docstrings
name: Check Known Missing Docstrings
stages: [manual]
files: salt/.*\.py$
exclude: >
(?x)^(
templates/.*|
salt/ext/.*|
)$
args:
- pre-commit
- docstrings
- check
- id: tools
alias: loader-check-virtual
name: Check loader modules __virtual__
files: salt/.*\.py$
exclude: >
(?x)^(
templates/.*|
salt/ext/.*|
)$
args:
- pre-commit
- salt-loaders
- check-virtual
- id: tools
alias: check-filemap
name: Check Filename Map Change Matching
files: ^tests/(filename_map\.yml|.*\.py)$
pass_filenames: false
args:
- pre-commit
- filemap
- check
# ----- Packaging Requirements ------------------------------------------------------------------------------------>
- repo: https://github.com/saltstack/pip-tools-compile-impersonate
rev: "4.8"
hooks:
- id: pip-tools-compile
alias: compile-pkg-linux-3.8-zmq-requirements
name: Linux Packaging Py3.8 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(linux\.in|py3\.8/linux\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --no-emit-index-url
- requirements/static/pkg/linux.in
- id: pip-tools-compile
alias: compile-pkg-linux-3.9-zmq-requirements
name: Linux Packaging Py3.9 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(linux\.in|py3\.9/linux\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --no-emit-index-url
- requirements/static/pkg/linux.in
- id: pip-tools-compile
alias: compile-pkg-linux-3.10-zmq-requirements
name: Linux Packaging Py3.10 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(linux\.in|py3\.10/linux\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --no-emit-index-url
- requirements/static/pkg/linux.in
- id: pip-tools-compile
alias: compile-pkg-linux-3.11-zmq-requirements
name: Linux Packaging Py3.11 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(linux\.in|py3\.11/linux\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --no-emit-index-url
- requirements/static/pkg/linux.in
- id: pip-tools-compile
alias: compile-pkg-linux-3.12-zmq-requirements
name: Linux Packaging Py3.12 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(linux\.in|py3\.12/linux\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --no-emit-index-url
- requirements/static/pkg/linux.in
- id: pip-tools-compile
alias: compile-pkg-freebsd-3.8-zmq-requirements
name: FreeBSD Packaging Py3.8 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(freebsd\.in|py3\.8/freebsd\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --no-emit-index-url
- requirements/static/pkg/freebsd.in
- id: pip-tools-compile
alias: compile-pkg-freebsd-3.9-zmq-requirements
name: FreeBSD Packaging Py3.9 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(freebsd\.in|py3\.9/freebsd\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --no-emit-index-url
- requirements/static/pkg/freebsd.in
- id: pip-tools-compile
alias: compile-pkg-freebsd-3.10-zmq-requirements
name: FreeBSD Packaging Py3.10 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(freebsd\.in|py3\.10/freebsd\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --no-emit-index-url
- requirements/static/pkg/freebsd.in
- id: pip-tools-compile
alias: compile-pkg-freebsd-3.11-zmq-requirements
name: FreeBSD Packaging Py3.11 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(freebsd\.in|py3\.11/freebsd\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --no-emit-index-url
- requirements/static/pkg/freebsd.in
- id: pip-tools-compile
alias: compile-pkg-freebsd-3.12-zmq-requirements
name: FreeBSD Packaging Py3.12 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(freebsd\.in|py3\.12/freebsd\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --no-emit-index-url
- requirements/static/pkg/freebsd.in
- id: pip-tools-compile
alias: compile-pkg-darwin-3.9-zmq-requirements
name: Darwin Packaging Py3.9 ZeroMQ Requirements
files: ^(requirements/((base|zeromq|crypto|darwin)\.txt|static/pkg/(darwin\.in|py3\.9/darwin\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=darwin
- --include=requirements/darwin.txt
- --no-emit-index-url
- requirements/static/pkg/darwin.in
- id: pip-tools-compile
alias: compile-pkg-darwin-3.10-zmq-requirements
name: Darwin Packaging Py3.10 ZeroMQ Requirements
files: ^(requirements/((base|zeromq|crypto|darwin)\.txt|static/pkg/(darwin\.in|py3\.10/darwin\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=darwin
- --include=requirements/darwin.txt
- --no-emit-index-url
- requirements/static/pkg/darwin.in
- id: pip-tools-compile
alias: compile-pkg-darwin-3.11-zmq-requirements
name: Darwin Packaging Py3.11 ZeroMQ Requirements
files: ^(requirements/((base|zeromq|crypto|darwin)\.txt|static/pkg/(darwin\.in|py3\.11/darwin\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=darwin
- --include=requirements/darwin.txt
- --no-emit-index-url
- requirements/static/pkg/darwin.in
- id: pip-tools-compile
alias: compile-pkg-darwin-3.12-zmq-requirements
name: Darwin Packaging Py3.12 ZeroMQ Requirements
files: ^(requirements/((base|zeromq|crypto|darwin)\.txt|static/pkg/(darwin\.in|py3\.12/darwin\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=darwin
- --include=requirements/darwin.txt
- --no-emit-index-url
- requirements/static/pkg/darwin.in
- id: pip-tools-compile
alias: compile-pkg-windows-3.8-zmq-requirements
name: Windows Packaging Py3.8 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto|windows)\.txt|static/pkg/(windows\.in|py3\.8/windows\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=windows
- --include=requirements/windows.txt
- --no-emit-index-url
- requirements/static/pkg/windows.in
- id: pip-tools-compile
alias: compile-pkg-windows-3.9-zmq-requirements
name: Windows Packaging Py3.9 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto|windows)\.txt|static/pkg/(windows\.in|py3\.9/windows\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=windows
- --include=requirements/windows.txt
- --no-emit-index-url
- requirements/static/pkg/windows.in
- id: pip-tools-compile
alias: compile-pkg-windows-3.10-zmq-requirements
name: Windows Packaging Py3.10 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto|windows)\.txt|static/pkg/(windows\.in|py3\.10/windows\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=windows
- --include=requirements/windows.txt
- --no-emit-index-url
- requirements/static/pkg/windows.in
- id: pip-tools-compile
alias: compile-pkg-windows-3.11-zmq-requirements
name: Windows Packaging Py3.11 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto|windows)\.txt|static/pkg/(windows\.in|py3\.11/windows\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=windows
- --include=requirements/windows.txt
- --no-emit-index-url
- requirements/static/pkg/windows.in
- id: pip-tools-compile
alias: compile-pkg-windows-3.12-zmq-requirements
name: Windows Packaging Py3.12 ZeroMQ Requirements
files: ^requirements/((base|zeromq|crypto|windows)\.txt|static/pkg/(windows\.in|py3\.12/windows\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=windows
- --include=requirements/windows.txt
- --no-emit-index-url
- requirements/static/pkg/windows.in
# <---- Packaging Requirements -------------------------------------------------------------------------------------
# ----- CI Requirements ------------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-linux-3.8-zmq-requirements
name: Linux CI Py3.8 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|py3\.8/linux\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/linux.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-3.9-zmq-requirements
name: Linux CI Py3.9 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|py3\.9/linux\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/linux.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-3.10-zmq-requirements
name: Linux CI Py3.10 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|py3\.10/linux\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/linux.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-3.11-zmq-requirements
name: Linux CI Py3.11 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|py3\.11/linux\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/linux.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-3.12-zmq-requirements
name: Linux CI Py3.12 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|py3\.12/linux\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/linux.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/linux.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-3.8-requirements
name: Linux CI Py3.8 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.8/linux-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=linux
- --out-prefix=linux
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-3.9-requirements
name: Linux CI Py3.9 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.9/linux-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=linux
- --out-prefix=linux
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-3.10-requirements
name: Linux CI Py3.10 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.10/linux-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=linux
- --out-prefix=linux
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-3.11-requirements
name: Linux CI Py3.11 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.11/linux-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=linux
- --out-prefix=linux
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-linux-crypto-3.12-requirements
name: Linux CI Py3.12 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.12/linux-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=linux
- --out-prefix=linux
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-freebsd-3.8-zmq-requirements
name: FreeBSD CI Py3.8 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((freebsd|common)\.in|py3\.8/freebsd\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/freebsd.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/freebsd.in
- id: pip-tools-compile
alias: compile-ci-freebsd-3.9-zmq-requirements
name: FreeBSD CI Py3.9 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((freebsd|common)\.in|py3\.9/freebsd\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/freebsd.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/freebsd.in
- id: pip-tools-compile
alias: compile-ci-freebsd-3.10-zmq-requirements
name: FreeBSD CI Py3.10 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((freebsd|common)\.in|py3\.10/freebsd\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/freebsd.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/freebsd.in
- id: pip-tools-compile
alias: compile-ci-freebsd-3.11-zmq-requirements
name: FreeBSD CI Py3.11 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((freebsd|common)\.in|py3\.11/freebsd\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/freebsd.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/freebsd.in
- id: pip-tools-compile
alias: compile-ci-freebsd-3.12-zmq-requirements
name: FreeBSD CI Py3.12 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(freebsd|common)\.in|py3\.12/freebsd\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=freebsd
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/freebsd.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/freebsd.in
- id: pip-tools-compile
alias: compile-ci-freebsd-crypto-3.8-requirements
name: FreeBSD CI Py3.8 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.8/freebsd-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=freebsd
- --out-prefix=freebsd
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-freebsd-crypto-3.9-requirements
name: FreeBSD CI Py3.9 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.9/freebsd-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --build-isolation
- --py-version=3.9
- --platform=freebsd
- --out-prefix=freebsd
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-freebsd-crypto-3.10-requirements
name: FreeBSD CI Py3.10 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.10/freebsd-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=freebsd
- --out-prefix=freebsd
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-freebsd-crypto-3.11-requirements
name: FreeBSD CI Py3.11 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.11/freebsd-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=freebsd
- --out-prefix=freebsd
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-freebsd-crypto-3.12-requirements
name: FreeBSD CI Py3.12 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.12/freebsd-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=freebsd
- --out-prefix=freebsd
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-darwin-3.9-zmq-requirements
name: Darwin CI Py3.9 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((darwin|common)\.in|py3\.9/darwin\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=darwin
- --include=requirements/darwin.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/darwin.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/darwin.in
- id: pip-tools-compile
alias: compile-ci-darwin-3.10-zmq-requirements
name: Darwin CI Py3.10 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((darwin|common)\.in|py3\.10/darwin\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=darwin
- --include=requirements/darwin.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/darwin.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/darwin.in
- id: pip-tools-compile
alias: compile-ci-darwin-3.11-zmq-requirements
name: Darwin CI Py3.11 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((darwin|common)\.in|py3\.11/darwin\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=darwin
- --include=requirements/darwin.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/darwin.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/darwin.in
- id: pip-tools-compile
alias: compile-ci-darwin-3.12-zmq-requirements
name: Darwin CI Py3.12 ZeroMQ Requirements
files: ^(requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(darwin|common)\.in|py3\.12/darwin\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=darwin
- --include=requirements/darwin.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/darwin.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/darwin.in
- id: pip-tools-compile
alias: compile-ci-darwin-crypto-3.9-requirements
name: Darwin CI Py3.9 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.9/darwin-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=darwin
- --out-prefix=darwin
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-darwin-crypto-3.10-requirements
name: Darwin CI Py3.10 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.10/darwin-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=darwin
- --out-prefix=darwin
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-darwin-crypto-3.11-requirements
name: Darwin CI Py3.11 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.11/darwin-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=darwin
- --out-prefix=darwin
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-darwin-crypto-3.12-requirements
name: Darwin CI Py3.12 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.12/darwin-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=darwin
- --out-prefix=darwin
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-windows-3.8-zmq-requirements
name: Windows CI Py3.8 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((windows|common)\.in|py3\.8/windows\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=windows
- --include=requirements/windows.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/windows.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/windows.in
- id: pip-tools-compile
alias: compile-ci-windows-3.9-zmq-requirements
name: Windows CI Py3.9 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((windows|common)\.in|py3\.9/windows\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=windows
- --include=requirements/windows.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/windows.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/windows.in
- id: pip-tools-compile
alias: compile-ci-windows-3.10-zmq-requirements
name: Windows CI Py3.10 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((windows|common)\.in|py3\.10/windows\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=windows
- --include=requirements/windows.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/windows.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/windows.in
- id: pip-tools-compile
alias: compile-ci-windows-3.11-zmq-requirements
name: Windows CI Py3.11 ZeroMQ Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/((windows|common)\.in|py3\.11/windows\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=windows
- --include=requirements/windows.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/windows.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/windows.in
- id: pip-tools-compile
alias: compile-ci-windows-3.12-zmq-requirements
name: Windows CI Py3.12 ZeroMQ Requirements
files: requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(windows|common)\.in|py3\.12/windows\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=windows
- --include=requirements/windows.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/windows.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/windows.in
- id: pip-tools-compile
alias: compile-ci-windows-crypto-3.8-requirements
name: Windows CI Py3.8 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.8/windows-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=windows
- --out-prefix=windows
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-windows-crypto-3.9-requirements
name: Windows CI Py3.9 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.9/windows-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=windows
- --out-prefix=windows
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-windows-crypto-3.10-requirements
name: Windows CI Py3.10 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.10/windows-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=windows
- --out-prefix=windows
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-windows-crypto-3.11-requirements
name: Windows CI Py3.11 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.11/windows-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=windows
- --out-prefix=windows
- --no-emit-index-url
- requirements/static/ci/crypto.in
- id: pip-tools-compile
alias: compile-ci-windows-crypto-3.12-requirements
name: Windows CI Py3.12 Crypto Requirements
files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.12/windows-crypto\.txt))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=windows
- --out-prefix=windows
- --no-emit-index-url
- requirements/static/ci/crypto.in
# <---- CI Requirements --------------------------------------------------------------------------------------------
# ----- Cloud CI Requirements ------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-cloud-3.8-requirements
name: Cloud CI Py3.8 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((cloud|common)\.in|py3\.8/cloud\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --no-emit-index-url
- requirements/static/ci/cloud.in
- id: pip-tools-compile
alias: compile-ci-cloud-3.9-requirements
name: Cloud CI Py3.9 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((cloud|common)\.in|py3\.9/cloud\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --no-emit-index-url
- requirements/static/ci/cloud.in
- id: pip-tools-compile
alias: compile-ci-cloud-3.10-requirements
name: Cloud CI Py3.10 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((cloud|common)\.in|py3\.10/cloud\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --no-emit-index-url
- requirements/static/ci/cloud.in
- id: pip-tools-compile
alias: compile-ci-cloud-3.11-requirements
name: Cloud CI Py3.11 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((cloud|common)\.in|py3\.11/cloud\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --no-emit-index-url
- requirements/static/ci/cloud.in
- id: pip-tools-compile
alias: compile-ci-cloud-3.12-requirements
name: Cloud CI Py3.12 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((cloud|common)\.in|py3\.12/cloud\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/pytest.txt
- --include=requirements/static/pkg/linux.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/cloud.in
# <---- Cloud CI Requirements --------------------------------------------------------------------------------------
# ----- Doc CI Requirements --------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-doc-requirements
name: Docs CI Py3.8 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/ci/(docs|common|linux)\.in|static/pkg/linux\.in|static/pkg/.*/linux\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/docs.in
- id: pip-tools-compile
alias: compile-doc-requirements
name: Docs CI Py3.9 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/ci/(docs|common|linux)\.in|static/pkg/linux\.in|static/pkg/.*/linux\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/docs.in
- id: pip-tools-compile
alias: compile-doc-requirements
name: Docs CI Py3.10 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/ci/(docs|common|linux)\.in|static/pkg/linux\.in|static/pkg/.*/linux\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/docs.in
- id: pip-tools-compile
alias: compile-doc-requirements
name: Docs CI Py3.11 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/ci/(docs|common|linux)\.in|static/pkg/linux\.in|static/pkg/.*/linux\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --no-emit-index-url
- --platform=linux
- requirements/static/ci/docs.in
- id: pip-tools-compile
alias: compile-doc-requirements
name: Docs CI Py3.12 Requirements
files: ^requirements/((base|zeromq|pytest)\.txt|static/ci/(docs|common|linux)\.in|static/pkg/linux\.in|static/pkg/.*/linux\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --no-emit-index-url
- requirements/static/ci/docs.in
# <---- Doc CI Requirements ----------------------------------------------------------------------------------------
# ----- Lint CI Requirements -------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-lint-3.8-requirements
name: Lint CI Py3.8 Requirements
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.8/linux\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/lint.in
- id: pip-tools-compile
alias: compile-ci-lint-3.9-requirements
name: Lint CI Py3.9 Requirements
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.9/linux\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/lint.in
- id: pip-tools-compile
alias: compile-ci-lint-3.10-requirements
name: Lint CI Py3.10 Requirements
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.10/linux\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/lint.in
- id: pip-tools-compile
alias: compile-ci-lint-3.11-requirements
name: Lint CI Py3.11 Requirements
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.10/linux\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/lint.in
- id: pip-tools-compile
alias: compile-ci-lint-3.12-requirements
name: Lint CI Py3.12 Requirements
files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.12/linux\.txt)))$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=linux
- --include=requirements/base.txt
- --include=requirements/zeromq.txt
- --include=requirements/static/pkg/linux.in
- --include=requirements/static/ci/linux.in
- --include=requirements/static/ci/common.in
- --no-emit-index-url
- requirements/static/ci/lint.in
# <---- Lint CI Requirements ---------------------------------------------------------------------------------------
# ----- Changelog ------------------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-changelog-3.8-requirements
name: Changelog CI Py3.8 Requirements
files: ^requirements/static/ci/(changelog\.in|py3\.8/(changelog|linux)\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.8
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/changelog.in
- id: pip-tools-compile
alias: compile-ci-changelog-3.9-requirements
name: Changelog CI Py3.9 Requirements
files: ^requirements/static/ci/(changelog\.in|py3\.9/(changelog|linux)\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/changelog.in
- id: pip-tools-compile
alias: compile-ci-changelog-3.10-requirements
name: Changelog CI Py3.10 Requirements
files: ^requirements/static/ci/(changelog\.in|py3\.10/(changelog|linux)\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/changelog.in
- id: pip-tools-compile
alias: compile-ci-changelog-3.11-requirements
name: Changelog CI Py3.11 Requirements
files: ^requirements/static/ci/(changelog\.in|py3\.11/(changelog|linux)\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/changelog.in
- id: pip-tools-compile
alias: compile-ci-changelog-3.12-requirements
name: Changelog CI Py3.12 Requirements
files: ^requirements/static/ci/(changelog\.in|py3\.12/(changelog|linux)\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --platform=linux
- --no-emit-index-url
- requirements/static/ci/changelog.in
# <---- Changelog --------------------------------------------------------------------------------------------------
# ----- Tools ---------------------------------------------------------------------------------------------------->
- id: pip-tools-compile
alias: compile-ci-tools-3.9-requirements
name: Linux CI Py3.9 Tools Requirements
files: ^requirements/static/ci/(tools\.in|py3.9/(tools|linux)\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.9
- --no-emit-index-url
- requirements/static/ci/tools.in
- id: pip-tools-compile
alias: compile-ci-tools-3.10-requirements
name: Linux CI Py3.10 Tools Requirements
files: ^requirements/static/ci/(tools\.in|py3.10/(tools|linux)\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.10
- --no-emit-index-url
- requirements/static/ci/tools.in
- id: pip-tools-compile
alias: compile-ci-tools-3.11-requirements
name: Linux CI Py3.11 Tools Requirements
files: ^requirements/static/ci/(tools\.in|py3.11/(tools|linux)\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.11
- --no-emit-index-url
- requirements/static/ci/tools.in
- id: pip-tools-compile
alias: compile-ci-tools-3.12-requirements
name: Linux CI Py3.12 Tools Requirements
files: ^requirements/static/ci/(tools\.in|py3.12/(tools|linux)\.txt)$
pass_filenames: false
args:
- -v
- --build-isolation
- --py-version=3.12
- --no-emit-index-url
- requirements/static/ci/tools.in
- id: pip-tools-compile
alias: compile-ci-tools-virustotal-3.9-requirements
name: Linux CI Py3.9 Tools virustotal Requirements
files: ^requirements/static/ci/(tools(-virustotal)?\.in|py3.9/(tools(-virustotal)?|linux)\.txt)$
pass_filenames: false
args:
- -v
- --py-version=3.9
- requirements/static/ci/tools-virustotal.in
- id: pip-tools-compile
alias: compile-ci-tools-virustotal-3.10-requirements
name: Linux CI Py3.10 Tools virustotal Requirements
files: ^requirements/static/ci/(tools(-virustotal)?\.in|py3.10/(tools(-virustotal)?|linux)\.txt)$
pass_filenames: false
args:
- -v
- --py-version=3.10
- requirements/static/ci/tools-virustotal.in
- id: pip-tools-compile
alias: compile-ci-tools-virustotal-3.11-requirements
name: Linux CI Py3.11 Tools virustotal Requirements
files: ^requirements/static/ci/(tools(-virustotal)?\.in|py3.11/(tools(-virustotal)?|linux)\.txt)$
pass_filenames: false
args:
- -v
- --py-version=3.11
- requirements/static/ci/tools-virustotal.in
- id: pip-tools-compile
alias: compile-ci-tools-virustotal-3.12-requirements
name: Linux CI Py3.12 Tools virustotal Requirements
files: ^requirements/static/ci/(tools(-virustotal)?\.in|py3.12/(tools(-virustotal)?|linux)\.txt)$
pass_filenames: false
args:
- -v
- --py-version=3.12
- requirements/static/ci/tools-virustotal.in
# <---- Tools -----------------------------------------------------------------------------------------------------
# ----- Code Formatting ------------------------------------------------------------------------------------------->
- repo: https://github.com/asottile/pyupgrade
rev: v3.15.1
hooks:
- id: pyupgrade
name: Upgrade code for Py3.8+
args: [--py38-plus, --keep-mock, --keep-runtime-typing]
exclude: >
(?x)^(
salt/client/ssh/ssh_py_shim.py
|
salt/client/ssh/wrapper/pillar.py
|
salt/ext/.*\.py
)$
- repo: https://github.com/saltstack/pre-commit-remove-import-headers
rev: 1.1.0
hooks:
- id: remove-import-headers
- repo: https://github.com/saltstack/salt-rewrite
# Automatically rewrite code with known rules
rev: 2.5.2
hooks:
- id: salt-rewrite
alias: rewrite-salt
name: Salt code auto-fixes
files: ^salt/.*\.py$
args: [--silent, -F, fix_docstrings, -F, fix_warn_until]
exclude: >
(?x)^(
salt/ext/.*
)$
- id: salt-rewrite
alias: rewrite-tests
name: Rewrite Salt's Test Suite
files: ^tests/.*\.py$
args: [--silent, -E, fix_asserts, -E, fix_docstrings, -E, fix_tornado_imports]
- repo: https://github.com/timothycrosley/isort
rev: 5.13.2
hooks:
- id: isort
additional_dependencies: ['toml']
# This tells pre-commit not to pass files to isort.
# This should be kept in sync with pyproject.toml
exclude: >
(?x)^(
templates/.*|
salt/ext/.*|
)$
- repo: https://github.com/psf/black
rev: 24.2.0
hooks:
- id: black
# This tells pre-commit not to pass files to black.
# This should be kept in sync with pyproject.toml
exclude: >
(?x)^(
salt/client/ssh/ssh_py_shim\.py|
templates/.*|
salt/ext/.*|
)$
- repo: https://github.com/asottile/blacken-docs
rev: 1.16.0
hooks:
- id: blacken-docs
args: [--skip-errors]
files: ^(doc/)?.*\.(rst|md)
exclude: >
(?x)^(
rfcs/.*|
salt/ext/.*|
)$
additional_dependencies:
- black==24.2.0
# <---- Code Formatting --------------------------------------------------------------------------------------------
# ----- Security -------------------------------------------------------------------------------------------------->
- repo: https://github.com/PyCQA/bandit
rev: "1.7.7"
hooks:
- id: bandit
alias: bandit-salt
name: Run bandit against Salt
args: [--silent, -lll, --skip, "B701,B324"]
exclude: >
(?x)^(
templates/.*|
salt/ext/.*|
tests/.*
)$
additional_dependencies: ['importlib_metadata<5']
- repo: https://github.com/PyCQA/bandit
rev: "1.7.7"
hooks:
- id: bandit
alias: bandit-tests
name: Run bandit against the test suite
args: [--silent, -lll, --skip, "B701,B324"]
files: ^tests/.*
exclude: ^tests/minionswarm\.py
additional_dependencies: ['importlib_metadata<5']
# <---- Security ---------------------------------------------------------------------------------------------------
# ----- Pre-Commit ------------------------------------------------------------------------------------------------>
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.8.0
hooks:
- id: mypy
alias: mypy-tools
name: Run mypy against tools
files: ^tools/.*\.py$
exclude: >
(?x)^(
templates/.*|
salt/.*|
)$
additional_dependencies:
- attrs
- rich
- types-attrs
- types-pyyaml
- types-requests
- python-tools-scripts==0.20.0
- repo: https://github.com/saltstack/mirrors-nox
rev: v2022.11.21
hooks:
- id: nox
alias: lint-salt
name: Lint Salt
files: ^((setup|noxfile)|(salt|tools)/.*)\.py$
exclude: >
(?x)^(
templates/.*|
salt/ext/.*|
)$
args:
- -e
- lint-salt-pre-commit
- --
additional_dependencies:
- setuptools<58.0
- pip>=20.2.4,<21.2
- repo: https://github.com/saltstack/mirrors-nox
rev: v2022.11.21
hooks:
- id: nox
alias: lint-tests
name: Lint Tests
files: ^tests/.*\.py$
args:
- -e
- lint-tests-pre-commit
- --
additional_dependencies:
- setuptools<58.0
- pip>=20.2.4,<21.2
# <---- Pre-Commit -------------------------------------------------------------------------------------------------