CI #2299
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# 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:30 UTC) | |
schedule: | |
- cron: '30 5 * * *' | |
jobs: | |
sanity: | |
name: Sanity (Ⓐ${{ matrix.ansible }}) | |
strategy: | |
matrix: | |
ansible: | |
# It's important that Sanity is tested against all stable-X.Y branches | |
# Testing against `devel` may fail as new tests are added. | |
- stable-2.15 | |
- stable-2.16 | |
- stable-2.17 | |
- stable-2.18 | |
- devel | |
runs-on: ubuntu-latest | |
steps: | |
- name: Perform sanity testing | |
uses: felixfontein/ansible-test-gh-action@main | |
with: | |
ansible-core-github-repository-slug: ${{ contains(fromJson('["stable-2.14"]'), matrix.ansible) && 'ansible-community/eol-ansible' || 'ansible/ansible' }} | |
ansible-core-version: ${{ matrix.ansible }} | |
codecov-token: ${{ secrets.CODECOV_TOKEN }} | |
testing-type: sanity | |
integration: | |
runs-on: ${{ matrix.gha_container || 'ubuntu-latest' }} | |
permissions: | |
contents: read | |
strategy: | |
matrix: | |
ansible: | |
- devel | |
docker_container: | |
- ubuntu2204 | |
- ubuntu2404 | |
- fedora41 | |
sops_version: | |
- 3.5.0 | |
- 3.6.1 | |
- 3.7.3 | |
- 3.8.1 | |
- 3.9.3 | |
python_version: | |
- '' | |
gha_container: | |
- '' | |
include: | |
# 2.15 | |
- ansible: stable-2.15 | |
docker_container: ubuntu2004 | |
sops_version: 3.5.0 | |
- ansible: stable-2.15 | |
docker_container: ubuntu2204 | |
sops_version: 3.6.0 | |
# 2.16 | |
- ansible: stable-2.16 | |
docker_container: ubuntu2004 | |
sops_version: 3.7.0 | |
- ansible: stable-2.16 | |
docker_container: ubuntu2204 | |
sops_version: 3.7.3 | |
# 2.17 | |
- ansible: stable-2.17 | |
docker_container: ubuntu2204 | |
sops_version: 3.8.0 | |
- ansible: stable-2.17 | |
docker_container: fedora39 | |
sops_version: 3.8.1 | |
# 2.18 | |
- ansible: stable-2.18 | |
docker_container: ubuntu2404 | |
sops_version: 3.9.0 | |
- ansible: stable-2.18 | |
docker_container: fedora40 | |
sops_version: 3.9.2 | |
# devel | |
- ansible: devel | |
docker_container: ubuntu2204 | |
sops_version: 3.6.0 | |
- ansible: devel | |
docker_container: ubuntu2204 | |
sops_version: 3.7.0 | |
- ansible: devel | |
docker_container: ubuntu2404 | |
sops_version: 3.9.1 | |
- ansible: devel | |
docker_container: quay.io/ansible-community/test-image:archlinux | |
python_version: '3.13' | |
sops_version: latest | |
- ansible: devel | |
docker_container: quay.io/ansible-community/test-image:debian-bookworm | |
python_version: '3.11' | |
sops_version: latest | |
- ansible: stable-2.15 | |
docker_container: quay.io/ansible-community/test-image:debian-bullseye | |
python_version: '3.9' | |
sops_version: latest | |
# ARM 64 | |
- ansible: devel | |
docker_container: ubuntu2404 | |
sops_version: latest | |
gha_container: ubuntu-24.04-arm | |
steps: | |
- name: >- | |
Perform integration testing against | |
Ansible version ${{ matrix.ansible }} | |
under ${{ matrix.docker_container }} | |
with sops ${{ matrix.sops_version }} | |
uses: felixfontein/ansible-test-gh-action@main | |
with: | |
ansible-core-github-repository-slug: ${{ contains(fromJson('["stable-2.14"]'), matrix.ansible) && 'ansible-community/eol-ansible' || 'ansible/ansible' }} | |
ansible-core-version: ${{ matrix.ansible }} | |
codecov-token: ${{ secrets.CODECOV_TOKEN }} | |
docker-image: ${{ matrix.docker_container }} | |
integration-continue-on-error: 'false' | |
integration-diff: 'false' | |
integration-retry-on-error: 'true' | |
# Adjust vars files so that sops ${{ matrix.sops_version }} is used | |
pre-test-cmd: |- | |
echo 'override_sops_version: ${{ matrix.sops_version }}' > tests/integration/integration_config.yml | |
echo 'github_token: ${{ secrets.GITHUB_TOKEN }}' >> tests/integration/integration_config.yml | |
test-deps: >- | |
git+https://github.com/ansible-collections/community.general.git,main | |
testing-type: integration | |
target-python-version: ${{ matrix.python_version }} | |
target: gha/main/ | |
integration-install: | |
runs-on: ${{ matrix.gha_container || 'ubuntu-latest' }} | |
permissions: | |
contents: read | |
strategy: | |
matrix: | |
ansible: | |
- devel | |
docker_container: | |
- '' | |
python_version: | |
- '' | |
target: | |
- gha/install/ | |
test-deps: | |
- '' | |
github_latest_detection: | |
- '' | |
gha_container: | |
- '' | |
exclude: | |
- docker_container: '' | |
include: | |
# Install specific sops | |
- ansible: stable-2.17 | |
docker_container: ubuntu2204 | |
python_version: '' | |
target: gha/install/1/ | |
- ansible: stable-2.17 | |
docker_container: fedora39 | |
python_version: '' | |
target: gha/install/1/ | |
- ansible: stable-2.18 | |
docker_container: ubuntu2404 | |
python_version: '' | |
target: gha/install/1/ | |
- ansible: stable-2.18 | |
docker_container: fedora40 | |
python_version: '' | |
target: gha/install/1/ | |
# Install on localhost vs. remote host | |
- ansible: devel | |
docker_container: ubuntu2204 | |
python_version: '' | |
target: gha/install/2/ | |
# Install latest sops | |
- ansible: devel | |
docker_container: quay.io/ansible-community/test-image:archlinux | |
python_version: '3.13' | |
target: gha/install/3/ | |
github_latest_detection: auto | |
test-deps: git+https://github.com/ansible-collections/community.general.git,main | |
- ansible: devel | |
docker_container: quay.io/ansible-community/test-image:debian-bookworm | |
python_version: '3.11' | |
target: gha/install/3/ | |
github_latest_detection: auto | |
- ansible: stable-2.16 | |
docker_container: quay.io/ansible-community/test-image:debian-bullseye | |
python_version: '3.9' | |
target: gha/install/3/ | |
github_latest_detection: auto | |
- ansible: devel | |
docker_container: fedora41 | |
python_version: '' | |
target: gha/install/3/ | |
github_latest_detection: auto | |
- ansible: devel | |
docker_container: ubuntu2204 | |
python_version: '' | |
target: gha/install/3/ | |
github_latest_detection: api | |
- ansible: devel | |
docker_container: ubuntu2404 | |
python_version: '' | |
target: gha/install/3/ | |
github_latest_detection: latest-release | |
- ansible: devel | |
docker_container: alpine321 | |
python_version: '' | |
target: gha/install/3/ | |
github_latest_detection: auto | |
test-deps: git+https://github.com/ansible-collections/community.general.git,main | |
# ARM 64 | |
- ansible: devel | |
docker_container: fedora41 | |
python_version: '' | |
target: gha/install/1/ | |
gha_container: ubuntu-24.04-arm | |
- ansible: devel | |
docker_container: ubuntu2204 | |
python_version: '' | |
target: gha/install/2/ | |
gha_container: ubuntu-24.04-arm | |
- ansible: devel | |
docker_container: alpine321 | |
python_version: '' | |
target: gha/install/3/ | |
github_latest_detection: auto | |
test-deps: git+https://github.com/ansible-collections/community.general.git,main | |
gha_container: ubuntu-24.04-arm | |
steps: | |
- name: >- | |
Perform sops installation integration testing against | |
Ansible version ${{ matrix.ansible }} | |
under ${{ matrix.docker_container }} | |
uses: felixfontein/ansible-test-gh-action@main | |
with: | |
ansible-core-github-repository-slug: ${{ contains(fromJson('["stable-2.14"]'), matrix.ansible) && 'ansible-community/eol-ansible' || 'ansible/ansible' }} | |
ansible-core-version: ${{ matrix.ansible }} | |
codecov-token: ${{ secrets.CODECOV_TOKEN }} | |
docker-image: ${{ matrix.docker_container }} | |
integration-continue-on-error: 'false' | |
integration-diff: 'false' | |
integration-retry-on-error: 'true' | |
pre-test-cmd: |- | |
echo 'github_token: ${{ secrets.GITHUB_TOKEN }}' > tests/integration/integration_config.yml | |
echo 'github_latest_detection: ${{ matrix.github_latest_detection || 'auto' }}' >> tests/integration/integration_config.yml | |
${{ matrix.pre-test-cmd || 'echo' }} | |
testing-type: integration | |
test-deps: ${{ matrix.test-deps }} | |
target-python-version: ${{ matrix.python_version }} | |
target: ${{ matrix.target }} |