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