Skip to content

Commit d35001f

Browse files
committed
ci: more testing
1 parent 95f7cd2 commit d35001f

File tree

1 file changed

+51
-1
lines changed

1 file changed

+51
-1
lines changed

.github/workflows/build.yml

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ jobs:
4848
test-unit:
4949
name: 🧪 Unit tests
5050
strategy:
51+
fail-fast: false
5152
matrix:
52-
python: ["3.7", "3.8", "3.9", "3.10"]
53+
python: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
5354
runs-on: ubuntu-22.04 # change back to ubuntu-latest once we drop Python 3.7
5455
steps:
5556
- uses: actions/checkout@v4
@@ -65,13 +66,62 @@ jobs:
6566
run: |
6667
pytest
6768
69+
test-install:
70+
name: 🧪 Installation test
71+
strategy:
72+
fail-fast: false
73+
matrix:
74+
python: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
75+
runs-on: ubuntu-22.04 # change back to ubuntu-latest once we drop Python 3.7
76+
steps:
77+
- uses: actions/checkout@v4
78+
- name: 🏗 Set up Python ${{ matrix.python }}
79+
uses: actions/setup-python@v4
80+
with:
81+
python-version: ${{ matrix.python }}
82+
- name: 🚀 Set up test dependencies & run test install
83+
run: |
84+
pip install octoprint
85+
pip install -e .[develop]
86+
87+
test-e2e:
88+
name: 🧪 E2E tests
89+
needs: build
90+
runs-on: ubuntu-22.04 # change back to ubuntu-latest once we drop Python 3.7 & upgrade playwright
91+
strategy:
92+
fail-fast: false
93+
matrix:
94+
octoprint: ["master", "maintenance"]
95+
python: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
96+
exclude:
97+
- octoprint: "maintenance"
98+
python: "3.7"
99+
- octoprint: "maintenance"
100+
python: "3.8"
101+
steps:
102+
- name: ⬇ Download build result
103+
uses: actions/download-artifact@v4
104+
with:
105+
name: dist
106+
path: dist
107+
108+
- name: 🎭 Run OctoPrint's E2E Tests
109+
uses: OctoPrint/actions/e2e@main
110+
with:
111+
ref: ${{ matrix.octoprint }}
112+
python: ${{ matrix.python }}
113+
deps: ${{ github.workspace }}/dist/*.whl
114+
suffix: "-${{ matrix.octoprint }}-py${{ matrix.python }}"
115+
68116
publish-on-testpypi:
69117
name: 📦 Publish on TestPyPI
70118
if: github.event_name == 'release'
71119
needs:
72120
- build
73121
- pre-commit
122+
- test-install
74123
- test-unit
124+
- test-e2e
75125
runs-on: ubuntu-latest
76126
environment:
77127
name: testpypi

0 commit comments

Comments
 (0)