182 lines
6.3 KiB
YAML
182 lines
6.3 KiB
YAML
|
---
|
||
|
# 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
|
||
|
|
||
|
name: EOL CI
|
||
|
on:
|
||
|
# Run EOL CI against all pushes (direct commits, also merged PRs), Pull Requests
|
||
|
push:
|
||
|
branches:
|
||
|
- stable-1
|
||
|
pull_request:
|
||
|
|
||
|
jobs:
|
||
|
sanity:
|
||
|
name: EOL Sanity (Ⓐ${{ matrix.ansible }})
|
||
|
strategy:
|
||
|
matrix:
|
||
|
ansible:
|
||
|
- '2.9'
|
||
|
- '2.10'
|
||
|
- '2.11'
|
||
|
# 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(
|
||
|
'["2.9", "2.10", "2.11"]'
|
||
|
), matrix.ansible) && 'ubuntu-20.04' || 'ubuntu-latest' }}
|
||
|
steps:
|
||
|
- name: Perform sanity testing
|
||
|
uses: felixfontein/ansible-test-gh-action@main
|
||
|
with:
|
||
|
ansible-core-version: stable-${{ matrix.ansible }}
|
||
|
coverage: ${{ github.event_name == 'schedule' && 'always' || 'never' }}
|
||
|
pull-request-change-detection: 'true'
|
||
|
testing-type: sanity
|
||
|
|
||
|
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(
|
||
|
'["2.9", "2.10", "2.11"]'
|
||
|
), matrix.ansible) && 'ubuntu-20.04' || 'ubuntu-latest' }}
|
||
|
name: EOL 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:
|
||
|
- '2.9'
|
||
|
- '2.10'
|
||
|
- '2.11'
|
||
|
|
||
|
steps:
|
||
|
- name: >-
|
||
|
Perform unit testing against
|
||
|
Ansible version ${{ matrix.ansible }}
|
||
|
uses: felixfontein/ansible-test-gh-action@main
|
||
|
with:
|
||
|
ansible-core-version: stable-${{ matrix.ansible }}
|
||
|
coverage: ${{ github.event_name == 'schedule' && 'always' || 'never' }}
|
||
|
pull-request-change-detection: 'true'
|
||
|
testing-type: 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(
|
||
|
'["2.9", "2.10", "2.11"]'
|
||
|
), matrix.ansible) && 'ubuntu-20.04' || 'ubuntu-latest' }}
|
||
|
name: EOL I (Ⓐ${{ matrix.ansible }}+${{ matrix.docker }}+py${{ matrix.python }}:${{ matrix.target }})
|
||
|
strategy:
|
||
|
fail-fast: false
|
||
|
matrix:
|
||
|
ansible:
|
||
|
- ''
|
||
|
docker:
|
||
|
- ''
|
||
|
python:
|
||
|
- ''
|
||
|
target:
|
||
|
- ''
|
||
|
exclude:
|
||
|
- ansible: ''
|
||
|
include:
|
||
|
# 2.9
|
||
|
- ansible: '2.9'
|
||
|
docker: centos6
|
||
|
python: ''
|
||
|
target: shippable/posix/group1/
|
||
|
- ansible: '2.9'
|
||
|
docker: centos7
|
||
|
python: ''
|
||
|
target: shippable/posix/group1/
|
||
|
- ansible: '2.9'
|
||
|
docker: fedora31
|
||
|
python: ''
|
||
|
target: shippable/posix/group1/
|
||
|
- ansible: '2.9'
|
||
|
docker: ubuntu1604
|
||
|
python: ''
|
||
|
target: shippable/posix/group1/
|
||
|
- ansible: '2.9'
|
||
|
docker: ubuntu1804
|
||
|
python: ''
|
||
|
target: shippable/posix/group1/
|
||
|
- ansible: '2.9'
|
||
|
docker: default
|
||
|
python: '2.7'
|
||
|
target: shippable/cloud/group1/
|
||
|
# 2.10
|
||
|
- ansible: '2.10'
|
||
|
docker: centos6
|
||
|
python: ''
|
||
|
target: shippable/posix/group1/
|
||
|
- ansible: '2.10'
|
||
|
docker: fedora31
|
||
|
python: ''
|
||
|
target: shippable/posix/group1/
|
||
|
- ansible: '2.10'
|
||
|
docker: ubuntu1604
|
||
|
python: ''
|
||
|
target: shippable/posix/group1/
|
||
|
- ansible: '2.10'
|
||
|
docker: default
|
||
|
python: '3.6'
|
||
|
target: shippable/cloud/group1/
|
||
|
# 2.11
|
||
|
- ansible: '2.11'
|
||
|
docker: centos7
|
||
|
python: ''
|
||
|
target: shippable/posix/group1/
|
||
|
- ansible: '2.11'
|
||
|
docker: fedora32
|
||
|
python: ''
|
||
|
target: shippable/posix/group1/
|
||
|
- ansible: '2.11'
|
||
|
docker: opensuse15py2
|
||
|
python: ''
|
||
|
target: shippable/posix/group1/
|
||
|
- ansible: '2.11'
|
||
|
docker: ubuntu1804
|
||
|
python: ''
|
||
|
target: shippable/posix/group1/
|
||
|
- ansible: '2.11'
|
||
|
docker: default
|
||
|
python: '3.8'
|
||
|
target: shippable/cloud/group1/
|
||
|
|
||
|
steps:
|
||
|
- name: >-
|
||
|
Perform integration testing against
|
||
|
Ansible version ${{ matrix.ansible }}
|
||
|
under Python ${{ matrix.python }}
|
||
|
uses: felixfontein/ansible-test-gh-action@main
|
||
|
with:
|
||
|
ansible-core-version: stable-${{ matrix.ansible }}
|
||
|
coverage: ${{ github.event_name == 'schedule' && 'always' || 'never' }}
|
||
|
docker-image: ${{ matrix.docker }}
|
||
|
integration-continue-on-error: 'false'
|
||
|
integration-diff: 'false'
|
||
|
integration-retry-on-error: 'true'
|
||
|
pre-test-cmd: >-
|
||
|
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.internal_test_tools.git ../../community/internal_test_tools
|
||
|
;
|
||
|
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.general.git ../../community/general
|
||
|
pull-request-change-detection: 'true'
|
||
|
target: ${{ matrix.target }}
|
||
|
target-python-version: ${{ matrix.python }}
|
||
|
testing-type: integration
|