mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-03-26 21:33:05 +00:00
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 <rjeffman@redhat.com>
105 lines
3.0 KiB
YAML
105 lines
3.0 KiB
YAML
---
|
|
schedules:
|
|
- cron: "0 19 * * *"
|
|
displayName: Nightly Builds
|
|
branches:
|
|
include:
|
|
- master
|
|
always: true
|
|
|
|
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:
|
|
distros: "fedora-latest,c10s,c9s,fedora-rawhide"
|
|
ansible_version: "-core >=2.18,<2.19"
|
|
ansible_latest: "-core"
|
|
ansible_minimum: "-core <2.16"
|
|
|
|
stages:
|
|
|
|
# Minimum ansible
|
|
|
|
- ${{ each distro in split(variables.distros, ',') }}:
|
|
- stage: ${{ replace(distro, '-', '_') }}_ansible_2_15
|
|
dependsOn: []
|
|
jobs:
|
|
- template: templates/group_tests.yml
|
|
parameters:
|
|
build_number: $(Build.BuildNumber)
|
|
distro: fedora-latest
|
|
ansible_version: ${{ variables.ansible_minimum }}
|
|
skip_git_test: true
|
|
test_galaxy: false
|
|
|
|
# Latest ansible
|
|
|
|
- ${{ each distro in split(variables.distros, ',') }}:
|
|
- stage: ${{ replace(distro, '-', '_') }}_ansible_latest
|
|
dependsOn: []
|
|
jobs:
|
|
- template: templates/group_tests.yml
|
|
parameters:
|
|
build_number: $(Build.BuildNumber)
|
|
distro: ${{ distro }}
|
|
ansible_version: ${{ variables.ansible_latest }}
|
|
skip_git_test: true
|
|
test_galaxy: false
|
|
|
|
# Galaxy with Latest ansible
|
|
|
|
- ${{ each distro in split(variables.distros, ',') }}:
|
|
- stage: galaxy_${{ replace(distro, '-', '_') }}_ansible_latest
|
|
dependsOn: []
|
|
jobs:
|
|
- template: templates/group_tests.yml
|
|
parameters:
|
|
build_number: $(Build.BuildNumber)
|
|
distro: ${{ distro }}
|
|
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
|
|
|
|
# Test Galaxy collection with pinned ansible version for the distro
|
|
|
|
- ${{ 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: ${{ config.distro }}
|
|
ansible_version: -core${{ config.ansible_version }}
|
|
skip_git_test: true
|
|
test_galaxy: true
|