Skip to content

Commit 6c56d40

Browse files
ci: Add new test suite running on linux/windows/mac
1 parent 66a28af commit 6c56d40

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

.github/workflows/test-suite.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: Run Test Suite
2+
3+
on:
4+
workflow_dispatch:
5+
6+
defaults:
7+
run:
8+
shell: bash
9+
10+
env:
11+
PIP_DISABLE_PIP_VERSION_CHECK: 1
12+
COVERAGE_IGOR_VERBOSE: 1
13+
FORCE_COLOR: 1 # pytest output color
14+
15+
permissions:
16+
contents: read
17+
18+
concurrency:
19+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
20+
cancel-in-progress: true
21+
22+
jobs:
23+
tests:
24+
name: "${{ matrix.python-version }} on ${{ matrix.os }}"
25+
runs-on: "${{ matrix.os }}-latest"
26+
27+
strategy:
28+
fail-fast: false
29+
matrix:
30+
os:
31+
- ubuntu
32+
- windows
33+
- macos
34+
python-version: ["3.9", "3.10", "3.11", "3.x"]
35+
36+
steps:
37+
- name: Checkout repository
38+
uses: actions/checkout@v4
39+
40+
- name: Set up Python ${{ matrix.python-version }}
41+
uses: actions/setup-python@v5
42+
with:
43+
python-version: ${{ matrix.python-version }}
44+
45+
- name: Install Python dependencies
46+
run: |
47+
set -xe
48+
python -m pip install poetry coverage pytest
49+
python -m poetry install
50+
python -m poetry self add poetry-plugin-export
51+
python -m poetry export -f requirements.txt --output requirements.txt
52+
python -m pip install -r requirements.txt
53+
54+
- name: Test with pytest
55+
run: |
56+
set -xe
57+
python -m pytest -sv
58+
59+
success:
60+
name: Tests Successful
61+
runs-on: ubuntu-latest
62+
needs: tests
63+
64+
steps:
65+
- name: Whether the whole test suite passed
66+
uses: re-actors/alls-green@release/v1.2.2

0 commit comments

Comments
 (0)