CI #1099
This file contains hidden or 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
| --- | |
| # Always check ansible-core support matrix before configuring units matrix. | |
| # https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html#ansible-core-support-matrix | |
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - dev | |
| pull_request: | |
| # Run CI once per day (at 06:00 UTC) | |
| # This ensures that even if there haven't been commits that we are still testing against latest version of ansible-test for each ansible-base version | |
| schedule: | |
| - cron: '0 6 * * *' | |
| workflow_dispatch: | |
| jobs: | |
| sanity-supported: | |
| runs-on: ubuntu-latest | |
| name: Sanity (Supported Ⓐ${{ matrix.ansible }}) | |
| strategy: | |
| fail-fast: false # Disabled so we can see all failed combinations. | |
| # Define a build matrix to test compatibility across multiple Ansible versions. | |
| # Each version listed below will spawn a separate job that runs in parallel. | |
| matrix: | |
| ansible: | |
| # Supported versions (must pass) | |
| - 'stable-2.18' # Python 3.11 - 3.13 | |
| - 'stable-2.19' # Python 3.11 - 3.13 | |
| - 'devel' # Test against the upcoming development version. | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: ansible-test - sanity | |
| uses: ansible-community/ansible-test-gh-action@release/v1 | |
| with: | |
| ansible-core-version: ${{ matrix.ansible }} | |
| testing-type: sanity | |
| sanity-eol: | |
| runs-on: ubuntu-latest | |
| # This job only runs if the supported tests pass | |
| needs: sanity-supported | |
| name: Sanity (EOL Ⓐ${{ matrix.ansible }}) | |
| continue-on-error: true # This entire job is allowed to fail | |
| strategy: | |
| fail-fast: false # Disabled so we can see all failed combinations. | |
| # Define a build matrix to test compatibility across multiple Ansible versions. | |
| # Each version listed below will spawn a separate job that runs in parallel. | |
| matrix: | |
| ansible: | |
| # EOL versions (allowed to fail) | |
| # NOTE: Ensure that meta/runtime.yml `requires_ansible` version is aligned with tested versions. | |
| - 'stable-2.14' # Python 3.9 - 3.11 | |
| - 'stable-2.15' # Python 3.9 - 3.11 | |
| - 'stable-2.16' # Python 3.10 - 3.12 | |
| - 'stable-2.17' # Python 3.10 - 3.12 | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: ansible-test - sanity | |
| uses: ansible-community/ansible-test-gh-action@release/v1 | |
| with: | |
| ansible-core-version: ${{ matrix.ansible }} | |
| testing-type: sanity | |
| units-supported: | |
| runs-on: ubuntu-latest | |
| name: Units (Supported Ⓐ${{ matrix.ansible }}+py${{ matrix.python }}) | |
| strategy: | |
| fail-fast: false # Disabled so we can see all failed combinations. | |
| # Define a build matrix to test compatibility across multiple Ansible versions. | |
| # Each version listed below will spawn a separate job that runs in parallel. | |
| matrix: | |
| ansible: | |
| - 'stable-2.18' # Python 3.11 - 3.13 | |
| - 'stable-2.19' # Python 3.11 - 3.13 | |
| - 'devel' # Test against the upcoming development version. | |
| python: | |
| - '3.11' | |
| - '3.12' | |
| - '3.13' | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: ansible-test - units | |
| uses: ansible-community/ansible-test-gh-action@release/v1 | |
| with: | |
| ansible-core-version: ${{ matrix.ansible }} | |
| target-python-version: ${{ matrix.python }} | |
| testing-type: units | |
| units-eol: | |
| runs-on: ubuntu-latest | |
| # This job only runs if the supported tests pass | |
| needs: units-supported | |
| name: Units (EOL Ⓐ${{ matrix.ansible }}+py${{ matrix.python }}) | |
| continue-on-error: true # This entire job is allowed to fail | |
| strategy: | |
| fail-fast: false # Disabled so we can see all failed combinations. | |
| # Define a build matrix to test compatibility across multiple Ansible versions. | |
| # Each version listed below will spawn a separate job that runs in parallel. | |
| matrix: | |
| ansible: | |
| - 'stable-2.14' # Python 3.9 - 3.11 | |
| - 'stable-2.15' # Python 3.9 - 3.11 | |
| - 'stable-2.16' # Python 3.10 - 3.12 | |
| - 'stable-2.17' # Python 3.10 - 3.12 | |
| python: | |
| - '3.9' | |
| - '3.10' | |
| - '3.11' | |
| - '3.12' | |
| exclude: | |
| # Exclusions for incompatible Python versions. | |
| - ansible: 'stable-2.14' | |
| python: '3.12' | |
| - ansible: 'stable-2.15' | |
| python: '3.12' | |
| - ansible: 'stable-2.16' | |
| python: '3.9' | |
| - ansible: 'stable-2.17' | |
| python: '3.9' | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: ansible-test - units | |
| uses: ansible-community/ansible-test-gh-action@release/v1 | |
| with: | |
| ansible-core-version: ${{ matrix.ansible }} | |
| target-python-version: ${{ matrix.python }} | |
| testing-type: units | |
| # Please consult the Readme for information on why we disabled integration tests temporarily. |