Skip to content

Add Ansible-Core 2.18 Support #2022

Add Ansible-Core 2.18 Support

Add Ansible-Core 2.18 Support #2022

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the develop branch
push:
branches:
- develop
- main
pull_request:
branches:
- develop
- main
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
collection_build:
name: Build collection (${{ matrix.python_version }}/Ⓐ${{ matrix.ansible_version }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
# Ansible 2.18: supports Python 3.11 - 3.13
- ansible_version: "stable-2.18"
python_version: "3.13"
- ansible_version: "stable-2.18"
python_version: "3.12"
- ansible_version: "stable-2.18"
python_version: "3.11"
# Ansible 2.17: supports Python 3.7 - 3.12
- ansible_version: "stable-2.17"
python_version: "3.12"
- ansible_version: "stable-2.17"
python_version: "3.11"
- ansible_version: "stable-2.17"
python_version: "3.10"
# Ansible 2.16: supports Python 3.10 - 3.12
- ansible_version: "stable-2.16"
python_version: "3.12"
- ansible_version: "stable-2.16"
python_version: "3.11"
- ansible_version: "stable-2.16"
python_version: "3.10"
# Ansible 2.15: supports Python 3.9 - 3.11
- ansible_version: "stable-2.15"
python_version: "3.11"
- ansible_version: "stable-2.15"
python_version: "3.10"
# Ansible 2.14: supports Python 3.9 - 3.11
- ansible_version: "stable-2.14"
python_version: "3.11"
- ansible_version: "stable-2.14"
python_version: "3.10"
steps:
- name: Check out code
uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python_version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python_version }}
- name: Install ansible-core (${{ matrix.ansible_version }})
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible_version }}.tar.gz --disable-pip-version-check
- name: Build collection tarball
run: ansible-galaxy collection build --output-path "${GITHUB_WORKSPACE}/.cache/collection-tarballs"
- name: Store migrated collection artifacts
uses: actions/upload-artifact@v4
with:
name: collection-${{ matrix.python_version }}-${{ matrix.ansible_version }}
path: .cache/collection-tarballs
ansible_sanity:
name: Sanity (${{ matrix.python_version }}/Ⓐ${{ matrix.ansible_version }})
needs:
- collection_build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
# Ansible 2.18: supports Python 3.11 - 3.13
- ansible_version: "stable-2.18"
python_version: "3.13"
- ansible_version: "stable-2.18"
python_version: "3.12"
- ansible_version: "stable-2.18"
python_version: "3.11"
# Ansible 2.17: supports Python 3.7 - 3.12
- ansible_version: "stable-2.17"
python_version: "3.12"
- ansible_version: "stable-2.17"
python_version: "3.11"
- ansible_version: "stable-2.17"
python_version: "3.10"
# Ansible 2.16: supports Python 3.10 - 3.12
- ansible_version: "stable-2.16"
python_version: "3.12"
- ansible_version: "stable-2.16"
python_version: "3.11"
- ansible_version: "stable-2.16"
python_version: "3.10"
# Ansible 2.15: supports Python 3.9 - 3.11
- ansible_version: "stable-2.15"
python_version: "3.11"
- ansible_version: "stable-2.15"
python_version: "3.10"
# Ansible 2.14: supports Python 3.9 - 3.11
- ansible_version: "stable-2.14"
python_version: "3.11"
- ansible_version: "stable-2.14"
python_version: "3.10"
steps:
- name: Set up Python ${{ matrix.python_version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python_version }}
- name: Install ansible-base (v${{ matrix.ansible }})
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible_version }}.tar.gz --disable-pip-version-check
- name: Install coverage (v4.5.4)
run: pip install coverage==4.5.4
- name: Download migrated collection artifacts
uses: actions/download-artifact@v5
with:
name: collection-${{ matrix.python_version }}-${{ matrix.ansible_version }}
path: .cache/collection-tarballs
- name: Install the collection tarball
run: ansible-galaxy collection install .cache/collection-tarballs/*.tar.gz
- name: Run sanity tests
run: ansible-test sanity --docker -v --color --truncate 0 --coverage
working-directory: /home/runner/.ansible/collections/ansible_collections/cisco/nac_dc_vxlan
ansible_lint:
name: Ansible-Lint (${{ matrix.python_version }}/Ⓐ${{ matrix.ansible_version }})
needs:
- collection_build
env:
ANSIBLE_COLLECTIONS_PATH: ${{ github.workspace }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
# Ansible 2.17: supports Python 3.7 - 3.12
- ansible_version: "stable-2.17"
python_version: "3.12"
# - ansible_version: "stable-2.17"
# python_version: "3.11"
# - ansible_version: "stable-2.17"
# python_version: "3.10"
# # Ansible 2.16: supports Python 3.10 - 3.12
# - ansible_version: "stable-2.16"
# python_version: "3.12"
# - ansible_version: "stable-2.16"
# python_version: "3.11"
# - ansible_version: "stable-2.16"
# python_version: "3.10"
# # Ansible 2.15: supports Python 3.9 - 3.11
# - ansible_version: "stable-2.15"
# python_version: "3.11"
# - ansible_version: "stable-2.15"
# python_version: "3.10"
# # Ansible 2.14: supports Python 3.9 - 3.11
# - ansible_version: "stable-2.14"
# python_version: "3.11"
# - ansible_version: "stable-2.14"
# python_version: "3.10"
steps:
- name: Check out code
uses: actions/checkout@v5
- name: Set up Python ${{ matrix.python_version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python_version }}
- name: Install ansible-core (v${{ matrix.ansible_version }})
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible_version }}.tar.gz --disable-pip-version-check
- name: Install collection dependencies
run: pip install -r requirements.txt
- name: Install ansible-lint (25.9.2)
run: pip install ansible-lint==25.9.2
- name: Run ansible-lint
run: ansible-lint --force-color --strict -v