Move tests with EOL versions of Ansible from AZP to GHA. (#537)

This commit is contained in:
Felix Fontein 2022-12-19 22:05:14 +01:00 committed by GitHub
parent c2f8237c80
commit 4d05fe9890
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 183 additions and 135 deletions

View File

@ -71,39 +71,7 @@ stages:
test: '2.12/sanity/1' test: '2.12/sanity/1'
- name: Units - name: Units
test: '2.12/units/1' test: '2.12/units/1'
- stage: Ansible_2_11
displayName: Sanity & Units 2.11
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
targets:
- name: Sanity
test: '2.11/sanity/1'
- name: Units
test: '2.11/units/1'
- stage: Ansible_2_10
displayName: Sanity & Units 2.10
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
targets:
- name: Sanity
test: '2.10/sanity/1'
- name: Units
test: '2.10/units/1'
- stage: Ansible_2_9
displayName: Sanity & Units 2.9
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
targets:
- name: Sanity
test: '2.9/sanity/1'
- name: Units
test: '2.9/units/1'
### Docker ### Docker
- stage: Docker_2_13 - stage: Docker_2_13
displayName: Docker 2.13 displayName: Docker 2.13
@ -149,53 +117,7 @@ stages:
groups: groups:
- 4 - 4
- 5 - 5
- stage: Docker_2_11
displayName: Docker 2.11
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: 2.11/linux/{0}
targets:
- name: CentOS 7
test: centos7
- name: Fedora 33
test: fedora33
- name: Ubuntu 18.04
test: ubuntu1804
groups:
- 4
- 5
- stage: Docker_2_10
displayName: Docker 2.10
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: 2.10/linux/{0}
targets:
- name: Fedora 32
test: fedora32
- name: Ubuntu 16.04
test: ubuntu1604
groups:
- 4
- 5
- stage: Docker_2_9
displayName: Docker 2.9
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
testFormat: 2.9/linux/{0}
targets:
- name: Fedora 31
test: fedora31
- name: openSUSE 15 py2
test: opensuse15py2
groups:
- 4
- 5
### Remote ### Remote
- stage: Remote_2_13 - stage: Remote_2_13
displayName: Remote 2.13 displayName: Remote 2.13
@ -230,52 +152,6 @@ stages:
- 3 - 3
- 4 - 4
- 5 - 5
- stage: Remote_2_11
displayName: Remote 2.11
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: RHEL {0}
testFormat: 2.11/rhel/{0}
targets:
- test: '8.3'
groups:
- 1
- 2
- 3
- 4
- 5
- stage: Remote_2_10
displayName: Remote 2.10
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: RHEL {0}
testFormat: 2.10/rhel/{0}
targets:
- test: '7.8'
groups:
- 1
- 2
- 3
- 4
- stage: Remote_2_9
displayName: Remote 2.9
dependsOn: []
jobs:
- template: templates/matrix.yml
parameters:
nameFormat: RHEL {0}
testFormat: 2.9/rhel/{0}
targets:
- test: '8.2'
groups:
- 1
- 2
- 3
- 4
## Finally ## Finally
@ -284,18 +160,9 @@ stages:
dependsOn: dependsOn:
- Ansible_2_13 - Ansible_2_13
- Ansible_2_12 - Ansible_2_12
- Ansible_2_11
- Ansible_2_10
- Ansible_2_9
- Remote_2_13 - Remote_2_13
- Remote_2_12 - Remote_2_12
- Remote_2_11
- Remote_2_10
- Remote_2_9
- Docker_2_13 - Docker_2_13
- Docker_2_12 - Docker_2_12
- Docker_2_11
- Docker_2_10
- Docker_2_9
jobs: jobs:
- template: templates/coverage.yml - template: templates/coverage.yml

181
.github/workflows/ansible-test.yml vendored Normal file
View File

@ -0,0 +1,181 @@
---
# 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: fedora31
python: ''
target: shippable/posix/group4/
- ansible: '2.9'
docker: fedora31
python: ''
target: shippable/posix/group5/
- ansible: '2.9'
docker: opensuse15py2
python: ''
target: shippable/posix/group4/
- ansible: '2.9'
docker: opensuse15py2
python: ''
target: shippable/posix/group5/
# 2.10
- ansible: '2.10'
docker: fedora32
python: ''
target: shippable/posix/group4/
- ansible: '2.10'
docker: fedora32
python: ''
target: shippable/posix/group5/
- ansible: '2.10'
docker: ubuntu1604
python: ''
target: shippable/posix/group4/
- ansible: '2.10'
docker: ubuntu1604
python: ''
target: shippable/posix/group5/
# 2.11
- ansible: '2.11'
docker: centos7
python: ''
target: shippable/posix/group4/
- ansible: '2.11'
docker: centos7
python: ''
target: shippable/posix/group5/
- ansible: '2.11'
docker: fedora33
python: ''
target: shippable/posix/group4/
- ansible: '2.11'
docker: fedora33
python: ''
target: shippable/posix/group5/
- ansible: '2.11'
docker: ubuntu1804
python: ''
target: shippable/posix/group4/
- ansible: '2.11'
docker: ubuntu1804
python: ''
target: shippable/posix/group5/
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: >-
mkdir -p ../../ansible
;
git clone --depth=1 --single-branch https://github.com/ansible-collections/ansible.posix.git ../../ansible/posix
;
git clone --depth=1 --single-branch https://github.com/ansible-collections/community.crypto.git ../../community/crypto
;
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