Skip to content

CI: Use ansible-community/eol-ansible for 2.9/2.10/2.11 tests #1648

CI: Use ansible-community/eol-ansible for 2.9/2.10/2.11 tests

CI: Use ansible-community/eol-ansible for 2.9/2.10/2.11 tests #1648

Workflow file for this run

---
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later
# For the comprehensive list of the inputs supported by the ansible-community/ansible-test-gh-action GitHub Action, see
# https://github.com/marketplace/actions/ansible-test
name: CI
'on':
# Run CI against all pushes (direct commits, also merged PRs), Pull Requests
push:
branches:
- main
- stable-*
pull_request:
# Run CI once per day (at 05:00 UTC)
schedule:
- cron: '0 5 * * *'
jobs:
sanity:
name: Sanity (Ⓐ${{ matrix.ansible }})
strategy:
fail-fast: false
matrix:
ansible:
- stable-2.9
- stable-2.10
- stable-2.11
- stable-2.12
- stable-2.13
- stable-2.14
- stable-2.15
- stable-2.16
- stable-2.17
- devel
# Ansible-test on various stable branches does not yet work well with cgroups v2.
# Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
# image for these stable branches. The list of branches where this is necessary will
# shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
# for the latest list.
runs-on: >-
${{ contains(fromJson(
'["stable-2.9", "stable-2.10", "stable-2.11"]'
), matrix.ansible) && 'ubuntu-20.04' || 'ubuntu-latest' }}
steps:
- name: Perform sanity testing
uses: felixfontein/ansible-test-gh-action@main
with:
ansible-core-github-repository-slug: ${{ contains(fromJson('["stable-2.9", "stable-2.10", "stable-2.11"]'), matrix.ansible) && 'ansible-community/eol-ansible' || 'ansible/ansible' }}
ansible-core-version: ${{ matrix.ansible }}
codecov-token: ${{ secrets.CODECOV_TOKEN }}
testing-type: sanity
# https://github.com/ansible/ansible/pull/82574
sanity-skip-tests: ansible-doc
units:
# Ansible-test on various stable branches does not yet work well with cgroups v2.
# Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
# image for these stable branches. The list of branches where this is necessary will
# shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
# for the latest list.
runs-on: >-
${{ contains(fromJson(
'["stable-2.9", "stable-2.10", "stable-2.11"]'
), matrix.ansible) && 'ubuntu-20.04' || 'ubuntu-latest' }}
name: Units (Ⓐ${{ matrix.ansible }})
strategy:
# As soon as the first unit test fails, cancel the others to free up the CI queue
fail-fast: true
matrix:
ansible:
- stable-2.9
- stable-2.10
- stable-2.11
- stable-2.12
- stable-2.13
- stable-2.14
- stable-2.15
- stable-2.16
- stable-2.17
- devel
steps:
- name: >-
Perform unit testing against
Ansible version ${{ matrix.ansible }}
uses: felixfontein/ansible-test-gh-action@main
with:
ansible-core-github-repository-slug: ${{ contains(fromJson('["stable-2.9", "stable-2.10", "stable-2.11"]'), matrix.ansible) && 'ansible-community/eol-ansible' || 'ansible/ansible' }}
ansible-core-version: ${{ matrix.ansible }}
codecov-token: ${{ secrets.CODECOV_TOKEN }}
testing-type: units
# Run unit tests for tools
- name: Check out code
uses: actions/checkout@v4
with:
path: ./collection-checkout/ansible_collections/community/internal_test_tools
- name: Install ansible-core (${{ matrix.ansible }})
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check
- name: Install requirements for tools unit tests
run: pip install pytest pytest-cov --disable-pip-version-check
- name: Run unit test for tools
run: python -m pytest --cov-branch --cov=tools --cov=tests/tool_unit/ --cov-report term-missing -vv tests/tool_unit/
working-directory: ./collection-checkout/ansible_collections/community/internal_test_tools
- name: Combine coverage for tools
run: coverage xml -i
working-directory: ./collection-checkout/ansible_collections/community/internal_test_tools
# See the reports at https://codecov.io/gh/ansible_collections/community.internal_test_tools
- uses: codecov/codecov-action@v4
with:
fail_ci_if_error: false
working-directory: ./collection-checkout/ansible_collections/community/internal_test_tools
token: ${{ secrets.CODECOV_TOKEN }}
flags: units
integration:
# Ansible-test on various stable branches does not yet work well with cgroups v2.
# Since ubuntu-latest now uses Ubuntu 22.04, we need to fall back to the ubuntu-20.04
# image for these stable branches. The list of branches where this is necessary will
# shrink over time, check out https://github.com/ansible-collections/news-for-maintainers/issues/28
# for the latest list.
runs-on: >-
${{ contains(fromJson(
'["stable-2.9", "stable-2.10", "stable-2.11"]'
), matrix.ansible) && 'ubuntu-20.04' || 'ubuntu-latest' }}
name: I (Ⓐ${{ matrix.ansible }}+py${{ matrix.python }})
strategy:
fail-fast: false
matrix:
ansible:
- devel
python:
- 3.8
- 3.9
- "3.10"
- "3.11"
- "3.12"
include:
# 2.9
- ansible: stable-2.9
python: "2.7"
- ansible: stable-2.9
python: "3.5"
# 2.10
- ansible: stable-2.10
python: "3.5"
# 2.11
- ansible: stable-2.11
python: "2.6"
# 2.12
- ansible: stable-2.12
python: "2.6"
- ansible: stable-2.12
python: "3.5"
# 2.13
- ansible: stable-2.13
python: "2.7"
- ansible: stable-2.13
python: "3.6"
# 2.14
- ansible: stable-2.14
python: "3.9"
# 2.15
- ansible: stable-2.15
python: "2.7"
- ansible: stable-2.15
python: "3.5"
# 2.16
- ansible: stable-2.16
python: "3.7"
# 2.17
- ansible: stable-2.17
python: "3.8"
steps:
- name: >-
Perform integration testing against
Ansible version ${{ matrix.ansible }}
under Python ${{ matrix.python }}
uses: felixfontein/ansible-test-gh-action@main
with:
ansible-core-github-repository-slug: ${{ contains(fromJson('["stable-2.9", "stable-2.10", "stable-2.11"]'), matrix.ansible) && 'ansible-community/eol-ansible' || 'ansible/ansible' }}
ansible-core-version: ${{ matrix.ansible }}
codecov-token: ${{ secrets.CODECOV_TOKEN }}
integration-continue-on-error: 'false'
integration-diff: 'false'
integration-retry-on-error: 'true'
target-python-version: ${{ matrix.python }}
testing-type: integration