--- 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 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/utils/__init__.py|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.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-linux-3.13-zmq-requirements name: Linux Packaging Py3.13 ZeroMQ Requirements files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(linux\.in|py3\.13/linux\.txt))$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --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.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-freebsd-3.13-zmq-requirements name: FreeBSD Packaging Py3.13 ZeroMQ Requirements files: ^requirements/((base|zeromq|crypto)\.txt|static/pkg/(freebsd\.in|py3\.13/freebsd\.txt))$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --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-darwin-3.13-zmq-requirements name: Darwin Packaging Py3.13 ZeroMQ Requirements files: ^(requirements/((base|zeromq|crypto|darwin)\.txt|static/pkg/(darwin\.in|py3\.13/darwin\.txt)))$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --platform=darwin - --include=requirements/darwin.txt - --no-emit-index-url - requirements/static/pkg/darwin.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 - id: pip-tools-compile alias: compile-pkg-windows-3.13-zmq-requirements name: Windows Packaging Py3.13 ZeroMQ Requirements files: ^requirements/((base|zeromq|crypto|windows)\.txt|static/pkg/(windows\.in|py3\.13/windows\.txt))$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --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.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-3.13-zmq-requirements name: Linux CI Py3.13 ZeroMQ Requirements files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(linux\.in|common\.in)|py3\.13/linux\.txt))$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --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.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-linux-crypto-3.13-requirements name: Linux CI Py3.13 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.13 - --platform=linux - --out-prefix=linux - --no-emit-index-url - requirements/static/ci/crypto.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-3.13-zmq-requirements name: FreeBSD CI Py3.13 ZeroMQ Requirements files: ^requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(freebsd|common)\.in|py3\.13/freebsd\.txt))$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --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.9-requirements name: FreeBSD CI Py3.9 Crypto Requirements files: ^requirements/(crypto\.txt|static/ci/crypto\.in)$ 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-freebsd-crypto-3.13-requirements name: FreeBSD CI Py3.13 Crypto Requirements files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.13/freebsd-crypto\.txt))$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --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-3.13-zmq-requirements name: Darwin CI Py3.13 ZeroMQ Requirements files: ^(requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(darwin|common)\.in|py3\.13/darwin\.txt)))$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --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-darwin-crypto-3.13-requirements name: Darwin CI Py3.13 Crypto Requirements files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.13/darwin-crypto\.txt))$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --platform=darwin - --out-prefix=darwin - --no-emit-index-url - requirements/static/ci/crypto.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-3.13-zmq-requirements name: Windows CI Py3.13 ZeroMQ Requirements files: requirements/((base|zeromq|pytest)\.txt|static/((ci|pkg)/(windows|common)\.in|py3\.13/windows\.txt))$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --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.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 - id: pip-tools-compile alias: compile-ci-windows-crypto-3.13-requirements name: Windows CI Py3.13 Crypto Requirements files: ^requirements/(crypto\.txt|static/ci/(crypto\.in|py3\.13/windows-crypto\.txt))$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --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.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 - id: pip-tools-compile alias: compile-ci-cloud-3.13-requirements name: Cloud CI Py3.13 Requirements files: ^requirements/((base|zeromq|pytest)\.txt|static/(pkg/linux\.in|ci/((cloud|common)\.in|py3\.13/cloud\.txt)))$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --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.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 - id: pip-tools-compile alias: compile-doc-requirements name: Docs CI Py3.13 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.13 - --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.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 - id: pip-tools-compile alias: compile-ci-lint-3.13-requirements name: Lint CI Py3.13 Requirements files: ^requirements/((base|zeromq)\.txt|static/(pkg/linux\.in|ci/(linux\.in|common\.in|lint\.in|py3\.13/linux\.txt)))$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --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.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 - id: pip-tools-compile alias: compile-ci-changelog-3.13-requirements name: Changelog CI Py3.13 Requirements files: ^requirements/static/ci/(changelog\.in|py3\.13/(changelog|linux)\.txt)$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --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-3.13-requirements name: Linux CI Py3.13 Tools Requirements files: ^requirements/static/ci/(tools\.in|py3.13/(tools|linux)\.txt)$ pass_filenames: false args: - -v - --build-isolation - --py-version=3.13 - --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 - id: pip-tools-compile alias: compile-ci-tools-virustotal-3.13-requirements name: Linux CI Py3.13 Tools virustotal Requirements files: ^requirements/static/ci/(tools(-virustotal)?\.in|py3.13/(tools(-virustotal)?|linux)\.txt)$ pass_filenames: false args: - -v - --py-version=3.13 - 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 to Py3.10+ args: [--py310-plus, --keep-mock] 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 -------------------------------------------------------------------------------------------------