forked from sap-linuxlab/community.sap_launchpad
-
Notifications
You must be signed in to change notification settings - Fork 0
104 lines (89 loc) · 3.85 KB
/
Copy pathansible-test-sanity.yml
File metadata and controls
104 lines (89 loc) · 3.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
---
# 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: Ansible Test - Sanity
on:
schedule:
# Thursday at 02:17 UTC (~3:17 AM CET / 4:17 AM CEST). Actual start time depends on GitHub load.
- cron: '17 2 * * 4'
pull_request:
branches:
- main
- dev
paths-ignore:
# Do not trigger workflow for files that do not affect functionality or tests.
# This helps reduce unnecessary CI runs and saves resources.
- '**.md' # All markdown files anywhere in the repository.
- '**.rst' # All changelog files anywhere in the repository.
- 'docs/**' # All files inside the docs folder on root level.
- 'roles/**/docs/**' # All files inside the docs folder inside the roles.
- 'changelogs/**' # All files inside the changelogs folder on root level.
- 'galaxy.yml' # Collection metadata file.
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.
# Serialization: Limit number of parallel jobs.
# This helps with throughput issues on GitHub Gateway servers.
max-parallel: 5
# 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
- 'stable-2.20' # Python 3.12 - 3.14
- 'stable-2.21' # Python 3.12 - 3.14
- '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
# NOTE: Minimum supported Ansible version was changed to 2.18 and these tests no longer work.
# It can be uncommented and repurposed when we have a new EOL version of Ansible to test against
# while ensuring that it aligns with minimum version defined in meta/runtime.yml.
# sanity-eol:
# runs-on: ubuntu-latest
# # This job only runs if the supported tests pass
# needs: sanity-supported
# name: Sanity (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 - sanity
# uses: ansible-community/ansible-test-gh-action@release/v1
# with:
# ansible-core-version: ${{ matrix.ansible }}
# target-python-version: ${{ matrix.python }}
# testing-type: sanity