From 9b16855dcf1019957f1b1747116e999bc583da7b Mon Sep 17 00:00:00 2001 From: Sebastian Gumprich Date: Mon, 7 Aug 2023 09:16:13 +0200 Subject: [PATCH] Update test matrix (#223) * updat gha test matrix * use upstream tests --------- Co-authored-by: Sebastian Gumprich --- .github/workflows/main.yml | 114 +++++++++++++++++++++++++++++++++---- 1 file changed, 104 insertions(+), 10 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dd62210d..e1d42382 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,16 +30,38 @@ jobs: strategy: matrix: ansible: - - stable-2.12 + # It's important that Sanity is tested against all stable-X.Y branches + # Testing against `devel` may fail as new tests are added. + # An alternative to `devel` is the `milestone` branch with + # gets synchronized with `devel` every few weeks and therefore + # tends to be a more stable target. Be aware that it is not updated + # around creation of a new stable branch, this might cause a problem + # that two different versions of ansible-test use the same sanity test + # ignore.txt file. + # Add new versions announced in + # https://github.com/ansible-collections/news-for-maintainers in a timely manner, + # consider dropping testing against EOL versions and versions you don't support. - stable-2.13 - stable-2.14 + - stable-2.15 - devel - runs-on: ubuntu-20.04 + # - milestone + # 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: # Run sanity tests inside a Docker container. # The docker container has all the pinned dependencies that are # required and all Python versions Ansible supports. - name: Perform sanity testing + # See the documentation for the following GitHub action on + # https://github.com/ansible-community/ansible-test-gh-action/blob/main/README.md uses: ansible-community/ansible-test-gh-action@release/v1 with: ansible-core-version: ${{ matrix.ansible }} @@ -49,23 +71,89 @@ jobs: # test-deps: >- # ansible.netcommon # ansible.utils - + # OPTIONAL If set to true, will test only against changed files, + # which should improve CI performance. See limitations on + # https://github.com/ansible-community/ansible-test-gh-action#pull-request-change-detection + pull-request-change-detection: true integration: - runs-on: ubuntu-20.04 + # 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: - - stable-2.12 - - stable-2.13 - - stable-2.14 - devel + # - milestone python: - - "3.8" - - "3.9" - - "3.10" + - '2.7' + - '3.6' + - '3.7' + - '3.8' + - '3.9' + - '3.10' + - '3.11' + include: + # Add new versions announced in + # https://github.com/ansible-collections/news-for-maintainers in a timely manner, + # consider dropping testing against EOL versions and versions you don't support. + # ansible-core 2.13 + - ansible: stable-2.13 + python: '2.7' + - ansible: stable-2.13 + python: '3.5' + - ansible: stable-2.13 + python: '3.6' + - ansible: stable-2.13 + python: '3.7' + - ansible: stable-2.13 + python: '3.8' + - ansible: stable-2.13 + python: '3.9' + - ansible: stable-2.13 + python: '3.10' + # ansible-core 2.14 + - ansible: stable-2.14 + python: '2.7' + - ansible: stable-2.14 + python: '3.5' + - ansible: stable-2.14 + python: '3.6' + - ansible: stable-2.14 + python: '3.7' + - ansible: stable-2.14 + python: '3.8' + - ansible: stable-2.14 + python: '3.9' + - ansible: stable-2.14 + python: '3.10' + - ansible: stable-2.14 + python: '3.11' + # ansible-core 2.15 + - ansible: stable-2.15 + python: '2.7' + - ansible: stable-2.15 + python: '3.5' + - ansible: stable-2.15 + python: '3.6' + - ansible: stable-2.15 + python: '3.7' + - ansible: stable-2.15 + python: '3.8' + - ansible: stable-2.15 + python: '3.9' + - ansible: stable-2.15 + python: '3.10' + - ansible: stable-2.15 + python: '3.11' services: icinga: image: ghcr.io/telekom-mms/icinga2:director-1.8.1 @@ -76,6 +164,8 @@ jobs: Perform integration testing against Ansible version ${{ matrix.ansible }} under Python ${{ matrix.python }} + # See the documentation for the following GitHub action on + # https://github.com/ansible-community/ansible-test-gh-action/blob/main/README.md uses: ansible-community/ansible-test-gh-action@v1.14.1 with: ansible-core-version: ${{ matrix.ansible }} @@ -86,3 +176,7 @@ jobs: # OPTIONAL If your integration tests require code # from other collections, install them like this # test-deps: ansible.netcommon + # OPTIONAL If set to true, will test only against changed files, + # which should improve CI performance. See limitations on + # https://github.com/ansible-community/ansible-test-gh-action#pull-request-change-detection + pull-request-change-detection: true