@@ -104,6 +104,88 @@ jobs:
104104 run : |
105105 uv run tox -e py${{ matrix.python-version }}
106106
107+ tests-windows :
108+ name : Tests Windows
109+ runs-on : windows-latest
110+
111+ strategy :
112+ fail-fast : false
113+ matrix :
114+ python-version : ["3.14"]
115+
116+ steps :
117+ - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
118+
119+ - uses : astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
120+ with :
121+ version : " latest"
122+
123+ - name : Set up Python ${{ matrix.python-version }}
124+ uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
125+ with :
126+ python-version : ${{ matrix.python-version }}
127+
128+ - name : Inspect MySQL installation
129+ shell : cmd
130+ run : |
131+ dir "C:\Program Files\MySQL"
132+ dir "C:\Program Files\MySQL\MySQL Server 8.0"
133+ "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --help --verbose
134+ "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --print-defaults
135+
136+ - name : Inspect MySQL service
137+ run : |
138+ Get-Service -DisplayName "MySQL*"
139+
140+ - name : Inspect home directory
141+ run : |
142+ $HOME
143+
144+ - name : Initialize MySQL
145+ shell : cmd
146+ run : |
147+ mkdir "C:\Users\runneradmin\mysql_data"
148+ "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --initialize-insecure --user=root --datadir=C:\Users\runneradmin\mysql_data
149+
150+ - name : Inspect MySQL service 2
151+ run : |
152+ Get-Service -DisplayName "MySQL*"
153+
154+ - name : Start MySQL
155+ shell : cmd
156+ run : |
157+ "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --install
158+
159+ - name : Inspect MySQL service 3
160+ run : |
161+ Get-Service -DisplayName "MySQL*"
162+
163+ - name : Start MySQL service
164+ run : |
165+ Start-Service -Name MySQL
166+
167+ - name : Install dependencies
168+ run : uv sync --all-extras -p ${{ matrix.python-version }}
169+
170+ # - name: Wait for MySQL connection
171+ # run: |
172+ # while ! mysqladmin ping --host=localhost --port=3306 --user=root --silent; do
173+ # sleep 5
174+ # done
175+
176+ - name : Set MySQL test credentials
177+ shell : cmd
178+ run : |
179+ "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqladmin" --user=root password root
180+
181+ - name : Pytest / behave
182+ env :
183+ PYTEST_PASSWORD : root
184+ PYTEST_HOST : 127.0.0.1
185+ TERM : xterm
186+ run : |
187+ uv run tox -e py${{ matrix.python-version }}
188+
107189 test-no-extras :
108190 name : Tests Without Extras
109191 runs-on : ubuntu-latest
0 commit comments