From 1bcf7f3ee42a3442f57fbd9aa3cb8151ab3ed288 Mon Sep 17 00:00:00 2001 From: Hideki Saito Date: Fri, 5 Dec 2025 01:06:51 +0000 Subject: [PATCH 1/2] Update AZP CI matrix and sanity test * Update AZP CI matrix * Add ignore file for Ansible Core 2.21 * Remove ignore lines for ansible-bad-import-from in 2.20 sanity tests Signed-off-by: Hideki Saito (cherry picked from commit 7d5aef07e2a0c1401832defcbe161eded5f8dcb6) --- .azure-pipelines/azure-pipelines.yml | 62 +++++++++++++++++-- .../fragments/693_azp_update_20251205.yml | 5 ++ tests/sanity/ignore-2.21.txt | 10 +++ 3 files changed, 71 insertions(+), 6 deletions(-) create mode 100644 changelogs/fragments/693_azp_update_20251205.yml create mode 100644 tests/sanity/ignore-2.21.txt diff --git a/.azure-pipelines/azure-pipelines.yml b/.azure-pipelines/azure-pipelines.yml index cc2d866..00e9db1 100644 --- a/.azure-pipelines/azure-pipelines.yml +++ b/.azure-pipelines/azure-pipelines.yml @@ -57,6 +57,21 @@ stages: test: units - name: Lint test: lint + - stage: Sanity_2_20 + displayName: Ansible 2.20 Sanity & Units & Lint + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + nameFormat: "{0}" + testFormat: 2.20/{0} + targets: + - name: Sanity + test: sanity + - name: Units + test: units + - name: Lint + test: lint - stage: Sanity_2_19 displayName: Ansible 2.19 sanitay & Units & Lint dependsOn: [] @@ -130,6 +145,20 @@ stages: test: ubuntu2204 - name: Ubuntu 24.04 test: ubuntu2404 + - stage: Docker_2_20 + displayName: Docker 2.20 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + testFormat: 2.20/linux/{0}/1 + targets: + - name: Fedora 42 + test: fedora42 + - name: Ubuntu 22.04 + test: ubuntu2204 + - name: Ubuntu 24.04 + test: ubuntu2404 - stage: Docker_2_19 displayName: Docker 2.19 dependsOn: [] @@ -202,6 +231,22 @@ stages: test: freebsd/14.3 - name: FreeBSD 13.5 test: freebsd/13.5 + - stage: Remote_2_20 + displayName: Remote 2.20 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + testFormat: 2.20/{0}/1 + targets: + - name: RHEL 10.0 + test: rhel/10.0 + - name: RHEL 9.6 + test: rhel/9.6 + - name: FreeBSD 14.3 + test: freebsd/14.3 + - name: FreeBSD 13.5 + test: freebsd/13.5 - stage: Remote_2_19 displayName: Remote 2.19 dependsOn: [] @@ -226,6 +271,8 @@ stages: parameters: testFormat: 2.18/{0}/1 targets: + - name: RHEL 10.0 + test: rhel/10.0 - name: RHEL 9.4 test: rhel/9.4 - name: FreeBSD 13.5 @@ -238,8 +285,9 @@ stages: parameters: testFormat: 2.17/{0}/1 targets: - - name: RHEL 9.3 - test: rhel/9.3 + # 2.17 remote target doesn't have RHEL 9 image + - name: RHEL 10.0 + test: rhel/10.0 - name: FreeBSD 13.5 test: freebsd/13.5 - stage: Remote_2_16 @@ -250,10 +298,9 @@ stages: parameters: testFormat: 2.16/{0}/1 targets: - - name: RHEL 8.8 - test: rhel/8.8 - - name: RHEL 9.2 - test: rhel/9.2 + # 2.16 remote target only has RHEL 9.6 image + - name: RHEL 9.6 + test: rhel/9.6 ## Finally @@ -272,6 +319,9 @@ stages: - Sanity_2_19 - Remote_2_19 - Docker_2_19 + - Sanity_2_20 + - Remote_2_20 + - Docker_2_20 - Sanity_devel - Remote_devel - Docker_devel diff --git a/changelogs/fragments/693_azp_update_20251205.yml b/changelogs/fragments/693_azp_update_20251205.yml new file mode 100644 index 0000000..823fd59 --- /dev/null +++ b/changelogs/fragments/693_azp_update_20251205.yml @@ -0,0 +1,5 @@ +--- +trivial: + - AZP - Update AZP matrix to follow ansible-test changes. + - Add ignore file for Ansible Core 2.21. + - Remove ignore lines for ansible-bad-import-from in 2.20 sanity tests. diff --git a/tests/sanity/ignore-2.21.txt b/tests/sanity/ignore-2.21.txt new file mode 100644 index 0000000..9b5e162 --- /dev/null +++ b/tests/sanity/ignore-2.21.txt @@ -0,0 +1,10 @@ +tests/utils/shippable/timing.py shebang +plugins/action/synchronize.py pylint:ansible-bad-import-from +plugins/callback/cgroup_perf_recap.py pylint:ansible-bad-import-from +plugins/modules/mount.py pylint:ansible-bad-import-from +plugins/modules/sysctl.py pylint:ansible-bad-import-from +plugins/shell/csh.py pylint:ansible-bad-import-from +plugins/shell/fish.py pylint:ansible-bad-import-from +tests/unit/mock/procenv.py pylint:ansible-bad-import-from +tests/unit/mock/yaml_helper.py pylint:ansible-bad-import-from +tests/unit/modules/conftest.py pylint:ansible-bad-import-from From 04274f4ce75717eafe43beaa5def76180f43cd4d Mon Sep 17 00:00:00 2001 From: saito-hideki Date: Mon, 29 Sep 2025 09:43:21 +0900 Subject: [PATCH 2/2] Ignore pylint errors caused by compatibility checks for six * This is a temporary measure until we stop covering Python2 * Skipped sanity[cannot-ignore] to keep backward compatibility with Python2 * Consolidate all ansible-lint option locations into .ansible-lint * Fixed some typos Signed-off-by: saito-hideki (cherry picked from commit 9dc73a686a953a14f8b4b08408c8caf9df3bb91b) --- .ansible-lint | 3 ++- .azure-pipelines/azure-pipelines.yml | 12 +++++++----- changelogs/fragments/682_update_ci_20250929.yml | 4 ++++ tests/utils/shippable/lint.sh | 5 ++--- 4 files changed, 15 insertions(+), 9 deletions(-) create mode 100644 changelogs/fragments/682_update_ci_20250929.yml diff --git a/.ansible-lint b/.ansible-lint index 7f470fa..ba5a888 100644 --- a/.ansible-lint +++ b/.ansible-lint @@ -4,7 +4,8 @@ # SPDX-FileCopyrightText: 2024, Ansible Project skip_list: - - meta-runtime[unsupported-version] # Tis rule doesn't make any sense + - meta-runtime[unsupported-version] # This rule doesn't make any sense - fqcn[deep] # This rule produces false positives for files in tests/unit/plugins/action/fixtures/ + - sanity[cannot-ignore] # This rule is skipped to keep backward compatibility with Python 2 exclude_paths: - changelogs/ diff --git a/.azure-pipelines/azure-pipelines.yml b/.azure-pipelines/azure-pipelines.yml index 00e9db1..cedf9ed 100644 --- a/.azure-pipelines/azure-pipelines.yml +++ b/.azure-pipelines/azure-pipelines.yml @@ -43,7 +43,7 @@ pool: Standard stages: - stage: Sanity_devel - displayName: Ansible devel sanity + displayName: Ansible devel Sanity & Units & Lint dependsOn: [] jobs: - template: templates/matrix.yml @@ -73,7 +73,7 @@ stages: - name: Lint test: lint - stage: Sanity_2_19 - displayName: Ansible 2.19 sanitay & Units & Lint + displayName: Ansible 2.19 Sanity & Units & Lint dependsOn: [] jobs: - template: templates/matrix.yml @@ -88,7 +88,7 @@ stages: - name: Lint test: lint - stage: Sanity_2_18 - displayName: Ansible 2.18 sanity & Units & Lint + displayName: Ansible 2.18 Sanity & Units & Lint dependsOn: [] jobs: - template: templates/matrix.yml @@ -103,7 +103,7 @@ stages: - name: Lint test: lint - stage: Sanity_2_17 - displayName: Ansible 2.17 sanity & Units & Lint + displayName: Ansible 2.17 Sanity & Units & Lint dependsOn: [] jobs: - template: templates/matrix.yml @@ -118,7 +118,7 @@ stages: - name: Lint test: lint - stage: Sanity_2_16 - displayName: Ansible 2.16 sanity & Units & Lint + displayName: Ansible 2.16 Sanity & Units & Lint dependsOn: [] jobs: - template: templates/matrix.yml @@ -130,6 +130,8 @@ stages: test: sanity - name: Units test: units + - name: Lint + test: lint ## Docker - stage: Docker_devel displayName: Docker devel diff --git a/changelogs/fragments/682_update_ci_20250929.yml b/changelogs/fragments/682_update_ci_20250929.yml new file mode 100644 index 0000000..d2bfd3c --- /dev/null +++ b/changelogs/fragments/682_update_ci_20250929.yml @@ -0,0 +1,4 @@ +trivial: + - Updatng AZP CI matrix to ignore ansible-bad-import-from on six(https://github.com/ansible-collections/ansible.posix/pull/682). + - Skipped sanity[cannot-ignore] to keep backward compatibility with Python2. + - Consolidate all ansible-lint option locations into .ansible-lint file. diff --git a/tests/utils/shippable/lint.sh b/tests/utils/shippable/lint.sh index 6ab1187..6f60861 100755 --- a/tests/utils/shippable/lint.sh +++ b/tests/utils/shippable/lint.sh @@ -9,6 +9,5 @@ command -v ansible pip install --upgrade --user pip pip install --upgrade --user ansible-lint -PATH="${PATH/\~/${HOME}}" ansible-lint \ - --exclude changelogs/ \ - --profile=production +# To specify additional options, you can specify them into .ansible-lint file. +PATH="${PATH/\~/${HOME}}" ansible-lint