diff --git a/.azure-pipelines/azure-pipelines.yml b/.azure-pipelines/azure-pipelines.yml index 374cfe0236..73962ab999 100644 --- a/.azure-pipelines/azure-pipelines.yml +++ b/.azure-pipelines/azure-pipelines.yml @@ -70,6 +70,19 @@ stages: - test: 2 - test: 3 - test: 4 + - stage: Sanity_2_20 + displayName: Sanity 2.20 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + nameFormat: Test {0} + testFormat: 2.20/sanity/{0} + targets: + - test: 1 + - test: 2 + - test: 3 + - test: 4 - stage: Sanity_2_19 displayName: Sanity 2.19 dependsOn: [] @@ -125,6 +138,18 @@ stages: - test: '3.12' - test: '3.13' - test: '3.14' + - stage: Units_2_20 + displayName: Units 2.20 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + nameFormat: Python {0} + testFormat: 2.20/units/{0}/1 + targets: + - test: 3.9 + - test: "3.12" + - test: "3.14" - stage: Units_2_19 displayName: Units 2.19 dependsOn: [] @@ -203,6 +228,22 @@ stages: - 1 - 2 - 3 + - stage: Remote_2_20 + displayName: Remote 2.20 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + testFormat: 2.20/{0} + targets: + - name: RHEL 10.0 + test: rhel/10.0 + - name: FreeBSD 14.3 + test: freebsd/14.3 + groups: + - 1 + - 2 + - 3 - stage: Remote_2_19 displayName: Remote 2.19 dependsOn: [] @@ -277,6 +318,22 @@ stages: - 1 - 2 - 3 + - stage: Docker_2_20 + displayName: Docker 2.20 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + testFormat: 2.20/linux/{0} + targets: + - name: Fedora 42 + test: fedora42 + - name: Alpine 3.22 + test: alpine322 + groups: + - 1 + - 2 + - 3 - stage: Docker_2_19 displayName: Docker 2.19 dependsOn: [] @@ -366,6 +423,17 @@ stages: # - test: '3.9' # - test: '3.12' # - test: '3.14' +# - stage: Generic_2_20 +# displayName: Generic 2.20 +# dependsOn: [] +# jobs: +# - template: templates/matrix.yml +# parameters: +# nameFormat: Python {0} +# testFormat: 2.20/generic/{0}/1 +# targets: +# - test: '3.10' +# - test: '3.14' # - stage: Generic_2_19 # displayName: Generic 2.19 # dependsOn: [] @@ -404,25 +472,30 @@ stages: condition: succeededOrFailed() dependsOn: - Sanity_devel + - Sanity_2_20 - Sanity_2_19 - Sanity_2_18 - Sanity_2_17 - Units_devel + - Units_2_20 - Units_2_19 - Units_2_18 - Units_2_17 - Remote_devel_extra_vms - Remote_devel + - Remote_2_20 - Remote_2_19 - Remote_2_18 - Remote_2_17 - Docker_devel + - Docker_2_20 - Docker_2_19 - Docker_2_18 - Docker_2_17 - Docker_community_devel # Right now all generic tests are disabled. Uncomment when at least one of them is re-enabled. # - Generic_devel +# - Generic_2_20 # - Generic_2_19 # - Generic_2_18 # - Generic_2_17 diff --git a/README.md b/README.md index 3c2cb8bb53..96ed886849 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ For more information about communication, see the [Ansible communication guide]( ## Tested with Ansible -Tested with the current ansible-core 2.16, ansible-core 2.17, ansible-core 2.18, ansible-core 2.19 releases and the current development version of ansible-core. Ansible-core versions before 2.16.0 are not supported. This includes all ansible-base 2.10 and Ansible 2.9 releases. +Tested with the current ansible-core 2.16, ansible-core 2.17, ansible-core 2.18, ansible-core 2.19, ansible-core 2.20 releases and the current development version of ansible-core. Ansible-core versions before 2.16.0 are not supported. This includes all ansible-base 2.10 and Ansible 2.9 releases. ## External requirements diff --git a/tests/sanity/ignore-2.20.txt b/tests/sanity/ignore-2.20.txt index 70a654d7db..ab7e6e3c7c 100644 --- a/tests/sanity/ignore-2.20.txt +++ b/tests/sanity/ignore-2.20.txt @@ -1,64 +1,14 @@ -plugins/module_utils/csv.py pylint:ansible-bad-import-from -plugins/module_utils/gitlab.py pylint:ansible-bad-import-from -plugins/module_utils/homebrew.py pylint:ansible-bad-import-from -plugins/module_utils/ipa.py pylint:ansible-bad-import-from -plugins/module_utils/net_tools/pritunl/api.py pylint:ansible-bad-import-from -plugins/module_utils/opennebula.py pylint:ansible-bad-import-from -plugins/module_utils/oracle/oci_utils.py pylint:ansible-bad-import-from -plugins/module_utils/pkg_req.py pylint:ansible-bad-import-from -plugins/module_utils/redfish_utils.py pylint:ansible-bad-import-from -plugins/module_utils/saslprep.py pylint:ansible-bad-import-from plugins/module_utils/univention_umc.py pylint:use-yield-from # suggested construct does not work with Python 2 -plugins/modules/apache2_mod_proxy.py pylint:ansible-bad-import-from -plugins/modules/circonus_annotation.py pylint:ansible-bad-import-from -plugins/modules/cobbler_system.py pylint:ansible-bad-import-from plugins/modules/consul_session.py validate-modules:parameter-state-invalid-choice -plugins/modules/dnsmadeeasy.py pylint:ansible-bad-import-from -plugins/modules/homebrew.py pylint:ansible-bad-import-from -plugins/modules/homebrew_cask.py pylint:ansible-bad-import-from plugins/modules/homectl.py import-3.11 # Uses deprecated stdlib library 'crypt' plugins/modules/homectl.py import-3.12 # Uses deprecated stdlib library 'crypt' plugins/modules/iptables_state.py validate-modules:undocumented-parameter # params _back and _timeout used by action plugin -plugins/modules/java_keystore.py pylint:ansible-bad-import-from -plugins/modules/jenkins_plugin.py pylint:ansible-bad-import-from -plugins/modules/ldap_search.py pylint:ansible-bad-import-from plugins/modules/lxc_container.py validate-modules:use-run-command-not-popen -plugins/modules/mail.py pylint:ansible-bad-import-from -plugins/modules/make.py pylint:ansible-bad-import-from -plugins/modules/monit.py pylint:ansible-bad-import-from -plugins/modules/osx_defaults.py pylint:ansible-bad-import-from plugins/modules/osx_defaults.py validate-modules:parameter-state-invalid-choice plugins/modules/parted.py validate-modules:parameter-state-invalid-choice plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice -plugins/modules/sl_vm.py pylint:ansible-bad-import-from -plugins/modules/ssh_config.py pylint:ansible-bad-import-from -plugins/modules/terraform.py pylint:ansible-bad-import-from -plugins/modules/timezone.py pylint:ansible-bad-import-from plugins/modules/udm_user.py import-3.11 # Uses deprecated stdlib library 'crypt' plugins/modules/udm_user.py import-3.12 # Uses deprecated stdlib library 'crypt' plugins/modules/xfconf.py validate-modules:return-syntax-error -plugins/modules/xml.py pylint:ansible-bad-import-from -plugins/modules/zpool_facts.py pylint:ansible-bad-import-from -plugins/modules/zypper_repository.py pylint:ansible-bad-import-from -tests/unit/plugins/module_utils/identity/keycloak/test_keycloak_connect.py pylint:ansible-bad-import-from -tests/unit/plugins/module_utils/net_tools/pritunl/test_api.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/conftest.py pylint:ansible-bad-import-from tests/unit/plugins/modules/uthelper.py pylint:use-yield-from # suggested construct does not work with Python 2 tests/unit/plugins/modules/test_gio_mime.yaml no-smart-quotes -tests/unit/plugins/modules/test_keycloak_authentication.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_authentication_required_actions.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_client.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_client_rolemapping.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_clientscope.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_component.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_identity_provider.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_realm.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_realm_info.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_realm_keys.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_realm_keys_metadata_info.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_role.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_user.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_user_federation.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_keycloak_userprofile.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_pritunl_org.py pylint:ansible-bad-import-from -tests/unit/plugins/modules/test_pritunl_user.py pylint:ansible-bad-import-from diff --git a/tests/sanity/ignore-2.21.txt b/tests/sanity/ignore-2.21.txt new file mode 100644 index 0000000000..ab7e6e3c7c --- /dev/null +++ b/tests/sanity/ignore-2.21.txt @@ -0,0 +1,14 @@ +plugins/module_utils/univention_umc.py pylint:use-yield-from # suggested construct does not work with Python 2 +plugins/modules/consul_session.py validate-modules:parameter-state-invalid-choice +plugins/modules/homectl.py import-3.11 # Uses deprecated stdlib library 'crypt' +plugins/modules/homectl.py import-3.12 # Uses deprecated stdlib library 'crypt' +plugins/modules/iptables_state.py validate-modules:undocumented-parameter # params _back and _timeout used by action plugin +plugins/modules/lxc_container.py validate-modules:use-run-command-not-popen +plugins/modules/osx_defaults.py validate-modules:parameter-state-invalid-choice +plugins/modules/parted.py validate-modules:parameter-state-invalid-choice +plugins/modules/rhevm.py validate-modules:parameter-state-invalid-choice +plugins/modules/udm_user.py import-3.11 # Uses deprecated stdlib library 'crypt' +plugins/modules/udm_user.py import-3.12 # Uses deprecated stdlib library 'crypt' +plugins/modules/xfconf.py validate-modules:return-syntax-error +tests/unit/plugins/modules/uthelper.py pylint:use-yield-from # suggested construct does not work with Python 2 +tests/unit/plugins/modules/test_gio_mime.yaml no-smart-quotes diff --git a/tests/sanity/ignore-2.21.txt.license b/tests/sanity/ignore-2.21.txt.license new file mode 100644 index 0000000000..edff8c7685 --- /dev/null +++ b/tests/sanity/ignore-2.21.txt.license @@ -0,0 +1,3 @@ +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: Ansible Project