Skip to content

Commit 15b7252

Browse files
author
Cecylia Borek
committed
update test github workflow
1 parent 8a298ae commit 15b7252

File tree

4 files changed

+79
-16
lines changed

4 files changed

+79
-16
lines changed

.github/workflows/setup-python.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Setup Python Testing Environment
2+
description: Sets up Python and dependencies for tests
3+
inputs:
4+
python-version:
5+
required: true
6+
runs:
7+
using: composite
8+
steps:
9+
- uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493
10+
- name: Setup Python
11+
uses: actions/setup-python@9322b3ca74000aeb2c01eb777b646334015ddd72
12+
with:
13+
python-version: ${{ inputs.python-version }}
14+
- name: Install dependencies
15+
run: pip install tox
16+
shell: bash

.github/workflows/test.yml

Lines changed: 60 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,25 @@ name: Python CI
22
on: [push, workflow_dispatch]
33

44
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: ./.github/workflows/setup-python.yml
17+
with:
18+
python-version: ${{ matrix.python-version }}
19+
- name: Run Unit Tests
20+
run: tox -e py -- tests/unit
21+
22+
integration-tests:
23+
needs: unit-tests
624
runs-on: ${{ matrix.os }}
725
strategy:
826
fail-fast: false
@@ -11,25 +29,54 @@ jobs:
1129
python-version: [3.9]
1230
splunk-version: [9.4, latest]
1331
include:
14-
# Oldest possible configuration
15-
# Last Ubuntu version with Python 3.7 binaries available
1632
- os: ubuntu-22.04
1733
python-version: 3.7
18-
splunk-version: 9.1
19-
# Latest possible configuration
34+
splunk-version: "9.1"
2035
- os: ubuntu-latest
2136
python-version: 3.13
2237
splunk-version: latest
2338
steps:
24-
- name: Checkout code
25-
uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493
39+
- uses: ./.github/workflows/setup-python.yml
40+
with:
41+
python-version: ${{ matrix.python-version }}
42+
os: ${{ matrix.os }}
43+
2644
- name: Run docker compose
2745
run: SPLUNK_VERSION=${{ matrix.splunk-version }} docker compose up -d
28-
- name: Setup Python
29-
uses: actions/setup-python@9322b3ca74000aeb2c01eb777b646334015ddd72
46+
47+
- name: Wait for Splunk setup completion
48+
run: make wait_up
49+
50+
- name: Run integration tests
51+
run: tox -e py -- tests/integration
52+
53+
system-tests:
54+
needs: unit-tests
55+
runs-on: ${{ matrix.os }}
56+
strategy:
57+
fail-fast: false
58+
matrix:
59+
os: [ubuntu-latest]
60+
python-version: [3.9]
61+
splunk-version: [9.4, latest]
62+
include:
63+
- os: ubuntu-22.04
64+
python-version: 3.7
65+
splunk-version: "9.1"
66+
- os: ubuntu-latest
67+
python-version: 3.13
68+
splunk-version: latest
69+
steps:
70+
- uses: ./.github/workflows/setup-python.yml
3071
with:
3172
python-version: ${{ matrix.python-version }}
32-
- name: Install tox
33-
run: pip install tox
34-
- name: Test Execution
35-
run: tox -e py
73+
os: ${{ matrix.os }}
74+
75+
- name: Run docker compose (System)
76+
run: SPLUNK_VERSION=${{matrix.splunk-version}} docker compose up -d
77+
78+
- name: Wait for Splunk setup completion
79+
run: make wait_up
80+
81+
- name: Run System Tests
82+
run: tox -e py -- tests/system

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ docs:
3434
.PHONY: test
3535
test:
3636
@echo "$(ATTN_COLOR)==> test $(NO_COLOR)"
37-
@tox -e py37,py39
37+
@tox
3838

3939
.PHONY: test_specific
4040
test_specific:

tox.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = clean,docs,py37,py39,313
2+
envlist = clean,py{37,39,313}
33
skipsdist = {env:TOXBUILD:false}
44

55
[testenv:pep8]
@@ -32,7 +32,7 @@ deps = pytest
3232

3333
distdir = build
3434
commands =
35-
{env:TOXBUILD:python -m pytest --junitxml=test-reports/junit-{envname}.xml --cov --cov-config=.coveragerc} {posargs}
35+
{env:TOXBUILD:python -m pytest tests/ --junitxml=test-reports/junit-{envname}.xml --cov --cov-config=.coveragerc} {posargs}
3636

3737
[testenv:clean]
3838
deps = coverage

0 commit comments

Comments
 (0)