# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) # SPDX-License-Identifier: GPL-3.0-or-later # SPDX-FileCopyrightText: 2025 Felix Fontein [collection_sources] "community.internal_test_tools" = "git+https://github.com/ansible-collections/community.internal_test_tools.git,main" [vcs] vcs = "git" development_branch = "main" stable_branches = [ "stable-*" ] [sessions] [sessions.lint] run_isort = true isort_config = ".isort.cfg" run_black = true run_flake8 = true flake8_config = ".flake8" run_pylint = true pylint_rcfile = ".pylintrc" pylint_ansible_core_package = "ansible-core>=2.19.0" run_yamllint = true yamllint_config = ".yamllint" yamllint_config_plugins = ".yamllint-docs" yamllint_config_plugins_examples = ".yamllint-examples" yamllint_config_extra_docs = ".yamllint-extra-docs" run_mypy = true mypy_ansible_core_package = "ansible-core>=2.19.0" mypy_config = ".mypy.ini" mypy_extra_deps = [ "cryptography", "types-mock", "types-PyYAML", ] [sessions.docs_check] validate_collection_refs="all" codeblocks_restrict_types = [ "ansible-output", "yaml", "yaml+jinja", ] codeblocks_restrict_type_exact_case = true codeblocks_allow_without_type = false codeblocks_allow_literal_blocks = false [sessions.license_check] run_reuse = true [sessions.extra_checks] run_no_unwanted_files = true no_unwanted_files_module_extensions = [".py"] no_unwanted_files_yaml_extensions = [".yml"] run_action_groups = true run_no_trailing_whitespace = true no_trailing_whitespace_skip_paths = [ "tests/integration/targets/luks_device/files/keyfile3", ] no_trailing_whitespace_skip_directories = [ "tests/unit/plugins/module_utils/_acme/fixtures/", ] run_avoid_characters = true [[sessions.extra_checks.action_groups_config]] name = "acme" pattern = "^acme_.*$" exclusions = [ "acme_ari_info", # does not support ACME account "acme_certificate_renewal_info", # does not support ACME account "acme_challenge_cert_helper", # does not support (and need) any common parameters ] doc_fragment = "community.crypto._attributes.actiongroup_acme" [[sessions.extra_checks.avoid_character_group]] name = "tab" regex = "\\x09" skip_paths = [ "tests/integration/targets/luks_device/files/keyfile3", ] [sessions.build_import_check] run_galaxy_importer = true [sessions.ansible_lint] [[sessions.ee_check.execution_environments]] name = "devel-ubi-9" description = "ansible-core devel @ RHEL UBI 9" test_playbooks = ["tests/ee/all.yml"] config.images.base_image.name = "docker.io/redhat/ubi9:latest" config.dependencies.ansible_core.package_pip = "https://github.com/ansible/ansible/archive/devel.tar.gz" config.dependencies.ansible_runner.package_pip = "ansible-runner" config.dependencies.python_interpreter.package_system = "python3.12 python3.12-pip python3.12-wheel python3.12-cryptography" config.dependencies.python_interpreter.python_path = "/usr/bin/python3.12" runtime_environment = {"ANSIBLE_PRIVATE_ROLE_VARS" = "true"} [[sessions.ee_check.execution_environments]] name = "2.17-rocky-9" description = "ansible-core 2.17 @ Rocky Linux 9" test_playbooks = ["tests/ee/all.yml"] config.images.base_image.name = "quay.io/rockylinux/rockylinux:9" config.dependencies.ansible_core.package_pip = "https://github.com/ansible/ansible/archive/stable-2.17.tar.gz" config.dependencies.ansible_runner.package_pip = "ansible-runner" config.dependencies.python_interpreter.package_system = "python3.11 python3.11-pip python3.11-wheel python3.11-cryptography" config.dependencies.python_interpreter.python_path = "/usr/bin/python3.11" runtime_environment = {"ANSIBLE_PRIVATE_ROLE_VARS" = "true"} [[sessions.ee_check.execution_environments]] name = "2.18-centos-stream-9" description = "ansible-core 2.18 @ CentOS Stream 9" test_playbooks = ["tests/ee/all.yml"] config.images.base_image.name = "quay.io/centos/centos:stream9" config.dependencies.ansible_core.package_pip = "https://github.com/ansible/ansible/archive/stable-2.18.tar.gz" config.dependencies.ansible_runner.package_pip = "ansible-runner" config.dependencies.python_interpreter.package_system = "python3.11 python3.11-pip python3.11-wheel python3.11-cryptography" config.dependencies.python_interpreter.python_path = "/usr/bin/python3.11" runtime_environment = {"ANSIBLE_PRIVATE_ROLE_VARS" = "true"}