mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-06-11 11:15:55 +00:00
This patch modify the pipelines to create stages using the 'each' expression on Azure pipelines, so that the configuration and the list of distributions can be set using variables. Testing CentOS 8 Stream and Galaxy collections still need to be handled in a separate group, although, the pipeline configuration becomes easily changed, specially when updating Ansible versions.
46 lines
1.6 KiB
YAML
46 lines
1.6 KiB
YAML
---
|
|
parameters:
|
|
- name: distro
|
|
type: string
|
|
- name: python_version
|
|
type: string
|
|
default: 3.x
|
|
- name: ansible_core_version
|
|
default: ""
|
|
|
|
jobs:
|
|
- job: BuildTestImage_${{ join('_', split(parameters.distro, '-')) }}
|
|
displayName: Build ${{ parameters.distro }} test container
|
|
steps:
|
|
- task: UsePythonVersion@0
|
|
inputs:
|
|
versionSpec: '${{ parameters.python_version }}'
|
|
|
|
- script: python -m pip install --upgrade pip "ansible-core${{ parameters.ansible_core_version }}"
|
|
retryCountOnTaskFailure: 5
|
|
displayName: Install tools
|
|
|
|
- script: ansible-galaxy collection install containers.podman
|
|
displayName: Install Ansible Galaxy collections
|
|
|
|
- script: infra/image/build.sh -p -s ${{ parameters.distro }}
|
|
displayName: Build ${{ parameters.distro }} base image
|
|
env:
|
|
ANSIBLE_ROLES_PATH: "${PWD}/roles"
|
|
ANSIBLE_LIBRARY: "${PWD}/plugins/modules"
|
|
ANSIBLE_MODULE_UTILS: "${PWD}/plugins/module_utils"
|
|
|
|
- script: podman login -u="$QUAY_ROBOT_USERNAME" -p="$QUAY_ROBOT_TOKEN" quay.io
|
|
displayName: Registry login
|
|
env:
|
|
# Secrets needs to be mapped as env vars to work properly
|
|
QUAY_ROBOT_TOKEN: $(QUAY_ROBOT_TOKEN)
|
|
|
|
- script: |
|
|
podman push quay.io/ansible-freeipa/upstream-tests:${{parameters.distro}}-base quay.io/ansible-freeipa/upstream-tests:${{ parameters.distro }}-base
|
|
displayName: Push base image
|
|
|
|
- script: |
|
|
podman push quay.io/ansible-freeipa/upstream-tests:${{ parameters.distro }}-server quay.io/ansible-freeipa/upstream-tests:${{ parameters.distro }}-server
|
|
displayName: Push server image
|