48
48
test-unit :
49
49
name : 🧪 Unit tests
50
50
strategy :
51
+ fail-fast : false
51
52
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" ]
53
54
runs-on : ubuntu-22.04 # change back to ubuntu-latest once we drop Python 3.7
54
55
steps :
55
56
- uses : actions/checkout@v4
@@ -65,13 +66,62 @@ jobs:
65
66
run : |
66
67
pytest
67
68
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
+
68
116
publish-on-testpypi :
69
117
name : 📦 Publish on TestPyPI
70
118
if : github.event_name == 'release'
71
119
needs :
72
120
- build
73
121
- pre-commit
122
+ - test-install
74
123
- test-unit
124
+ - test-e2e
75
125
runs-on : ubuntu-latest
76
126
environment :
77
127
name : testpypi
0 commit comments