@@ -2,7 +2,26 @@ name: Python CI
2
2
on : [push, workflow_dispatch]
3
3
4
4
jobs :
5
- build :
5
+ unit-tests :
6
+ runs-on : ${{ matrix.os }}
7
+ strategy :
8
+ matrix :
9
+ os : [ubuntu-latest]
10
+ python-version : [3.9, 3.13]
11
+ include :
12
+ - os : ubuntu-22.04
13
+ python-version : 3.7
14
+ fail-fast : false
15
+ steps :
16
+ - uses : actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493
17
+ - uses : ./.github/actions/setup-python
18
+ with :
19
+ python-version : ${{ matrix.python-version }}
20
+ - name : Run Unit Tests
21
+ run : tox -e py -- tests/unit
22
+
23
+ integration-tests :
24
+ needs : unit-tests
6
25
runs-on : ${{ matrix.os }}
7
26
strategy :
8
27
fail-fast : false
@@ -11,25 +30,58 @@ jobs:
11
30
python-version : [3.9]
12
31
splunk-version : [9.4, latest]
13
32
include :
14
- # Oldest possible configuration
15
- # Last Ubuntu version with Python 3.7 binaries available
16
33
- os : ubuntu-22.04
17
34
python-version : 3.7
18
- splunk-version : 9.1
19
- # Latest possible configuration
35
+ splunk-version : " 9.1"
20
36
- os : ubuntu-latest
21
37
python-version : 3.13
22
38
splunk-version : latest
23
39
steps :
24
- - name : Checkout code
25
- uses : actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493
40
+ - uses : actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493
41
+
42
+ - uses : ./.github/actions/setup-python
43
+ with :
44
+ python-version : ${{ matrix.python-version }}
45
+ os : ${{ matrix.os }}
46
+
26
47
- name : Run docker compose
27
48
run : SPLUNK_VERSION=${{ matrix.splunk-version }} docker compose up -d
28
- - name : Setup Python
29
- uses : actions/setup-python@9322b3ca74000aeb2c01eb777b646334015ddd72
49
+
50
+ - name : Wait for Splunk setup completion
51
+ run : make wait_up
52
+
53
+ - name : Run integration tests
54
+ run : tox -e py -- tests/integration
55
+
56
+ system-tests :
57
+ needs : unit-tests
58
+ runs-on : ${{ matrix.os }}
59
+ strategy :
60
+ fail-fast : false
61
+ matrix :
62
+ os : [ubuntu-latest]
63
+ python-version : [3.9]
64
+ splunk-version : [9.4, latest]
65
+ include :
66
+ - os : ubuntu-22.04
67
+ python-version : 3.7
68
+ splunk-version : " 9.1"
69
+ - os : ubuntu-latest
70
+ python-version : 3.13
71
+ splunk-version : latest
72
+ steps :
73
+ - uses : actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493
74
+
75
+ - uses : ./.github/actions/setup-python
30
76
with :
31
77
python-version : ${{ matrix.python-version }}
32
- - name : Install tox
33
- run : pip install tox
34
- - name : Test Execution
35
- run : tox -e py
78
+ os : ${{ matrix.os }}
79
+
80
+ - name : Run docker compose (System)
81
+ run : SPLUNK_VERSION=${{matrix.splunk-version}} docker compose up -d
82
+
83
+ - name : Wait for Splunk setup completion
84
+ run : make wait_up
85
+
86
+ - name : Run System Tests
87
+ run : tox -e py -- tests/system
0 commit comments