@@ -21,18 +21,80 @@ jobs:
2121 - ubuntu-24.04-arm
2222 - macos-15
2323 - macos-15-intel
24+ python-version :
25+ - ' 3.11'
26+ - ' 3.12'
27+ - ' 3.13'
28+
29+ runs-on : ${{ matrix.os }}
30+
31+ steps :
32+ - name : Checkout code
33+ uses : actions/checkout@v6
34+ with :
35+ submodules : recursive
36+
37+ - name : Set up Python
38+ uses : actions/setup-python@v6
39+ with :
40+ python-version : ${{ matrix.python-version }}
41+
42+ - name : Install dependencies
43+ run : |
44+ python -m pip install --upgrade pip
45+ python -m pip install setuptools wheel build cython
46+ python -m pip install flake8 mypy pytest
47+
48+ - name : Build wheel and source tarball
49+ run : |
50+ python -m build
51+
52+ - name : Install built wheel
53+ run : |
54+ python -m pip install dist/softfloatpy-*.whl
55+
56+ - name : Check coding style with flake8
57+ run : |
58+ python -m flake8 --doctests ./python
59+
60+ - name : Check data types with mypy
61+ run : |
62+ python -m mypy --strict ./python
63+
64+ - name : Test code with pytest
65+ run : |
66+ python -m pytest ./python --doctest-modules
67+
68+ test-on-windows :
69+ name : Test on Windows
70+
71+ strategy :
72+ matrix :
73+ os :
2474 - windows-2025
25- - windows-11-arm
2675 python-version :
2776 - ' 3.11'
2877 - ' 3.12'
2978 - ' 3.13'
3079
3180 runs-on : ${{ matrix.os }}
3281
82+ defaults :
83+ run :
84+ shell : msys2 {0}
85+
3386 steps :
87+ - name : Setup MSYS2 environment
88+ uses : msys2/setup-msys2@v2
89+ with :
90+ msystem : UCRT64
91+ update : true
92+ install : git mingw-w64-ucrt-x86_64-gcc
93+
3494 - name : Checkout code
3595 uses : actions/checkout@v6
96+ with :
97+ submodules : recursive
3698
3799 - name : Set up Python
38100 uses : actions/setup-python@v6
43105 run : |
44106 python -m pip install --upgrade pip
45107 python -m pip install setuptools wheel build cython
46- python -m pip install flake8, mypy, pytest
108+ python -m pip install flake8 mypy pytest
47109
48110 - name : Build wheel and source tarball
49111 run : |
0 commit comments