From 0aef995bbe786fa4e52726908876319d9f54e416 Mon Sep 17 00:00:00 2001 From: Rafael Guterres Jeffman Date: Mon, 17 Nov 2025 10:26:15 -0300 Subject: [PATCH] upstream CI: Fix Azure nightly pipelines to use version map Modify nigtly pipelines to use the same distro-to-Ansible version map so that the Ansible version matches the required version for the specific distro. Nightly pipelines are the same used for Weekly tests. This was required due to recent updates for Python 3.14 and Ansible upstream versions. Signed-off-by: Rafael Guterres Jeffman --- infra/azure/nightly.yml | 51 ++++++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/infra/azure/nightly.yml b/infra/azure/nightly.yml index 8f3d1605..fd2b97b0 100644 --- a/infra/azure/nightly.yml +++ b/infra/azure/nightly.yml @@ -12,13 +12,24 @@ trigger: none pool: vmImage: 'ubuntu-24.04' +parameters: + # Not really a parameter, but variables cannot be arrays or dicts + # This maps the distro LATEST version to the avaiable ansible-core + # version of the latest released compose. + - name: "distro_ansible_map" + type: object + default: + - { distro: "c8s", ansible_version: "<2.17" } + # c9s should use 2.14, but this version has an invalid certificate + # and so is unsuable against ansible-galaxy. + - { distro: "c9s", ansible_version: "<2.17" } + - { distro: "c10s", ansible_version: "<2.17" } + variables: - # We need to have two sets, as c8s is not supported by all ansible versions - recent_distros: "fedora-latest,fedora-rawhide,c10s,c9s" - distros: "fedora-latest,fedora-rawhide,c10s,c9s,c8s" + distros: "fedora-latest,c10s,c9s,fedora-rawhide" + ansible_version: "-core >=2.18,<2.19" ansible_latest: "-core" ansible_minimum: "-core <2.16" - ansible_version: "-core >=2.18,<2.19" stages: @@ -38,7 +49,7 @@ stages: # Latest ansible -- ${{ each distro in split(variables.recent_distros, ',') }}: +- ${{ each distro in split(variables.distros, ',') }}: - stage: ${{ replace(distro, '-', '_') }}_ansible_latest dependsOn: [] jobs: @@ -50,30 +61,44 @@ stages: skip_git_test: true test_galaxy: false -# Selected ansible-core version +# Galaxy with Latest ansible - ${{ each distro in split(variables.distros, ',') }}: - - stage: ${{ replace(distro, '-', '_') }}_ansible_2_16 + - stage: galaxy_${{ replace(distro, '-', '_') }}_ansible_latest dependsOn: [] jobs: - template: templates/group_tests.yml parameters: build_number: $(Build.BuildNumber) distro: ${{ distro }} - ansible_version: ${{ variables.ansible_version }} + ansible_version: ${{ variables.ansible_latest }} + skip_git_test: true + test_galaxy: true + +# Test with pinned ansible version for the distro + +- ${{ each config in parameters.distro_ansible_map }}: + - stage: ${{ config.distro }}_distro_ansible_${{ replace(config.ansible_version, '.', '_') }} + dependsOn: [] + jobs: + - template: templates/group_tests.yml + parameters: + build_number: $(Build.BuildNumber) + distro: ${{ config.distro }} + ansible_version: -core${{ config.ansible_version }} skip_git_test: true test_galaxy: false -# Galaxy collection with selected ansible-core version +# Test Galaxy collection with pinned ansible version for the distro -- ${{ each distro in split(variables.distros, ',') }}: - - stage: galaxy_${{ replace(distro, '-', '_') }}_asible_2_16 +- ${{ each config in parameters.distro_ansible_map }}: + - stage: galaxy_${{ config.distro }}_distro_ansible_${{ replace(config.ansible_version, '.', '_') }} dependsOn: [] jobs: - template: templates/group_tests.yml parameters: build_number: $(Build.BuildNumber) - distro: ${{ distro }} - ansible_version: ${{ variables.ansible_version }} + distro: ${{ config.distro }} + ansible_version: -core${{ config.ansible_version }} skip_git_test: true test_galaxy: true