--- # 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.9 - stable-2.10 - stable-2.11 - stable-2.12 - stable-2.13 - stable-2.14 - 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-version: ${{ matrix.ansible }} testing-type: sanity 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' }} permissions: contents: read strategy: matrix: ansible: - devel docker_container: - ubuntu2004 - ubuntu2204 - fedora37 sops_version: - 3.5.0 - 3.6.0 - 3.7.3 python_version: - '' include: # 2.9 - ansible: stable-2.9 docker_container: ubuntu1604 sops_version: 3.5.0 - ansible: stable-2.9 docker_container: ubuntu1804 sops_version: 3.7.1 # 2.10 - ansible: stable-2.10 docker_container: ubuntu1804 sops_version: 3.6.0 # 2.11 - ansible: stable-2.11 docker_container: ubuntu2004 sops_version: 3.7.2 # 2.12 - ansible: stable-2.12 docker_container: ubuntu2004 sops_version: 3.7.0 # 2.13 - ansible: stable-2.13 docker_container: ubuntu2004 sops_version: 3.7.3 # 2.14 - ansible: stable-2.14 docker_container: ubuntu2204 sops_version: 3.7.3 # devel - ansible: devel docker_container: quay.io/ansible-community/test-image:archlinux python_version: '3.10' sops_version: latest - ansible: devel docker_container: quay.io/ansible-community/test-image:debian-bullseye python_version: '3.9' sops_version: latest - ansible: devel docker_container: quay.io/ansible-community/test-image:centos-stream8 python_version: '3.8' sops_version: latest 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-version: ${{ matrix.ansible }} docker-image: ${{ matrix.docker_container }} integration-continue-on-error: 'false' integration-diff: 'false' integration-retry-on-error: 'true' # NOTE: we're installing with git to work around Galaxy being a huge PITA (https://github.com/ansible/galaxy/issues/2429) 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 git clone --depth=1 --single-branch https://github.com/ansible-collections/community.general.git ../../community/general testing-type: integration target-python-version: ${{ matrix.python_version }} target: gha/main/ integration-install: # 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' }} permissions: contents: read strategy: matrix: ansible: - devel docker_container: - '' python_version: - '' target: - gha/install/ pre-test-cmd: - '' github_latest_detection: - '' exclude: - docker_container: '' include: # Install specific sops - ansible: devel docker_container: ubuntu2204 python_version: '' target: gha/install/1/ # Install on localhost vs. remote host - ansible: devel docker_container: ubuntu2004 python_version: '' target: gha/install/2/ # Install latest sops - ansible: devel docker_container: quay.io/ansible-community/test-image:archlinux python_version: '3.10' target: gha/install/3/ github_latest_detection: auto # NOTE: we're installing with git to work around Galaxy being a huge PITA (https://github.com/ansible/galaxy/issues/2429) pre-test-cmd: |- git clone --depth=1 --single-branch https://github.com/ansible-collections/community.general.git ../../community/general - ansible: devel docker_container: quay.io/ansible-community/test-image:centos-stream8 python_version: '3.8' target: gha/install/3/ github_latest_detection: auto - ansible: devel 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: fedora37 python_version: '' target: gha/install/3/ github_latest_detection: auto - ansible: devel docker_container: ubuntu2004 python_version: '' target: gha/install/3/ github_latest_detection: api - ansible: devel docker_container: ubuntu2204 python_version: '' target: gha/install/3/ github_latest_detection: latest-release # - ansible: devel # docker_container: alpine3 -- so far only alpine3 edge supports sops # python_version: '' # target: gha/install/3/ # github_latest_detection: auto # # NOTE: we're installing with git to work around Galaxy being a huge PITA (https://github.com/ansible/galaxy/issues/2429) # pre-test-cmd: |- # git clone --depth=1 --single-branch https://github.com/ansible-collections/community.general.git ../../community/general 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-version: ${{ matrix.ansible }} 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 target-python-version: ${{ matrix.python_version }} target: ${{ matrix.target }}