From 0cc6be274ccfd271f63172e71801cbf7866b80b3 Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Sun, 17 May 2026 05:39:23 -0400 Subject: [PATCH] Updated azure CI targets and readme (#713) Added lastest branches and updated information Normalized test versions to cover all supported ones Apply suggestions from code review Co-authored-by: Felix Fontein --- .azure-pipelines/azure-pipelines.yml | 101 +++++++++++++++++++++++++-- README.md | 13 ++-- tests/sanity/ignore-2.16.txt | 0 tests/sanity/ignore-2.17.txt | 0 tests/utils/shippable/shippable.sh | 13 ++-- 5 files changed, 112 insertions(+), 15 deletions(-) create mode 100644 tests/sanity/ignore-2.16.txt create mode 100644 tests/sanity/ignore-2.17.txt diff --git a/.azure-pipelines/azure-pipelines.yml b/.azure-pipelines/azure-pipelines.yml index b274cb7..96ea43e 100644 --- a/.azure-pipelines/azure-pipelines.yml +++ b/.azure-pipelines/azure-pipelines.yml @@ -122,6 +122,39 @@ stages: - name: Lint test: lint + - stage: Sanity_2_17 + displayName: Ansible 2.17 Sanity & Units & Lint + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + nameFormat: "{0}" + testFormat: 2.17/{0} + targets: + - name: Sanity + test: sanity + - name: Units + test: units + - name: Lint + test: lint + + # 2.16 is LTS + - stage: Sanity_2_16 + displayName: Ansible 2.16 Sanity & Units & Lint + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + nameFormat: "{0}" + testFormat: 2.16/{0} + targets: + - name: Sanity + test: sanity + - name: Units + test: units + - name: Lint + test: lint + ## Docker - stage: Docker_devel displayName: Docker devel @@ -133,10 +166,10 @@ stages: targets: - name: Fedora 44 test: fedora44 - - name: Ubuntu 22.04 - test: ubuntu2204 - name: Ubuntu 24.04 test: ubuntu2404 + - name: Ubuntu 26.04 + test: ubuntu2604 - stage: Docker_2_21 displayName: Docker 2.21 @@ -144,10 +177,10 @@ stages: jobs: - template: templates/matrix.yml parameters: - testFormat: devel/linux/{0}/1 + testFormat: 2.21/linux/{0}/1 targets: - - name: Fedora 44 - test: fedora44 + - name: Fedora 43 + test: fedora43 - name: Ubuntu 22.04 test: ubuntu2204 - name: Ubuntu 24.04 @@ -198,6 +231,32 @@ stages: - name: Ubuntu 24.04 test: ubuntu2404 + - stage: Docker_2_17 + displayName: Docker 2.17 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + testFormat: 2.17/linux/{0}/1 + targets: + - name: Fedora 39 + test: fedora39 + - name: Ubuntu 22.04 + test: ubuntu2204 + + - stage: Docker_2_16 + displayName: Docker 2.16 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + testFormat: 2.16/linux/{0}/1 + targets: + - name: Fedora 38 + test: fedora38 + - name: Ubuntu 22.04 + test: ubuntu2204 + ## Remote - stage: Remote_devel displayName: Remote devel @@ -222,7 +281,7 @@ stages: jobs: - template: templates/matrix.yml parameters: - testFormat: devel/{0}/1 + testFormat: 2.21/{0}/1 targets: - name: RHEL 10.1 test: rhel/10.1 @@ -282,11 +341,41 @@ stages: - name: FreeBSD 13.5 test: freebsd/13.5 + - stage: Remote_2_17 + displayName: Remote 2.17 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + testFormat: 2.17/{0}/1 + targets: + - name: RHEL 10.0 + test: rhel/10.0 + - name: FreeBSD 13.5 + test: freebsd/13.5 + + - stage: Remote_2_16 + displayName: Remote 2.16 + dependsOn: [] + jobs: + - template: templates/matrix.yml + parameters: + testFormat: 2.16/{0}/1 + targets: + - name: RHEL 10.1 + test: rhel/10.1 + ## Finally - stage: Summary condition: succeededOrFailed() dependsOn: + - Sanity_2_16 + - Remote_2_16 + - Docker_2_16 + - Sanity_2_17 + - Remote_2_17 + - Docker_2_17 - Sanity_2_18 - Remote_2_18 - Docker_2_18 diff --git a/README.md b/README.md index 5dc5e7c..b729f45 100644 --- a/README.md +++ b/README.md @@ -78,10 +78,15 @@ ansible-doc -t callback ansible.posix.profile_tasks The following ansible-core versions have been tested with this collection: -- ansible-core 2.20 (devel) -- ansible-core 2.19 (stable) * -- ansible-core 2.18 (stable) -- ansible-core 2.17 (stable) +- ansible-core 2.22 (devel) +- ansible-core 2.21 (stable) +- ansible-core 2.20 (stable) +- ansible-core 2.19 (stable) +- ansible-core 2.18 (LTS) +- ansible-core 2.17 (EoL) +- ansible-core 2.16 (EoL) + +For most up to date support info, see the [ansible-core support matrix](https://docs.ansible.com/projects/ansible/latest/reference_appendices/release_and_maintenance.html#ansible-core-support-matrix) ## Contributing diff --git a/tests/sanity/ignore-2.16.txt b/tests/sanity/ignore-2.16.txt new file mode 100644 index 0000000..e69de29 diff --git a/tests/sanity/ignore-2.17.txt b/tests/sanity/ignore-2.17.txt new file mode 100644 index 0000000..e69de29 diff --git a/tests/utils/shippable/shippable.sh b/tests/utils/shippable/shippable.sh index 44beb23..256eccb 100755 --- a/tests/utils/shippable/shippable.sh +++ b/tests/utils/shippable/shippable.sh @@ -65,13 +65,16 @@ fi export ANSIBLE_COLLECTIONS_PATH="${PWD}/../../../" # START: HACK install dependencies -if [ "${ansible_version}" == "2.9" ] || [ "${ansible_version}" == "2.10" ]; then - # Note: Since community.general 5.x, Ansible Core versions prior to 2.11 are not supported. - # So we need to use 4.8.1 for Ansible 2.9 and Ansible Engine 2.10. - retry git clone --depth=1 --single-branch -b 4.8.1 https://github.com/ansible-collections/community.general.git "${ANSIBLE_COLLECTIONS_PATH}/ansible_collections/community/general" +if [ "${ansible_version}" == "2.16" ]; then +# Note: Since community.general 12.x dropped support for ansible-core 2.16, +# we need to use stable-11 for ansible-core 2.16. + target_branch='stable-11' else - retry git clone --depth=1 --single-branch https://github.com/ansible-collections/community.general.git "${ANSIBLE_COLLECTIONS_PATH}/ansible_collections/community/general" + target_branch='main' fi + +retry git clone --depth=1 --single-branch -b "${target_branch}" https://github.com/ansible-collections/community.general.git "${ANSIBLE_COLLECTIONS_PATH}/ansible_collections/community/general" + # Note: we're installing with git to work around Galaxy being a huge PITA (https://github.com/ansible/galaxy/issues/2429) # END: HACK