77 branches : [main]
88
99jobs :
10- test-ubuntu-py38 :
11- runs-on : ${{matrix.os}}
10+ test-ubuntu-py39-coverage :
11+ runs-on : ubuntu-latest
1212 timeout-minutes : 20
13- strategy :
14- fail-fast : false
15- matrix :
16- os : [ubuntu-latest]
17- python-version :
18- - " 3.8"
1913
2014 steps :
2115 - uses : actions/checkout@v3
2216
23- - name : Set up Python ${{ matrix.python-version }}
17+ - name : Set up Python 3.9
2418 uses : actions/setup-python@v4
2519 with :
26- python-version : ${{ matrix.python-version }}
20+ python-version : " 3.9 "
2721
2822 - name : Upgrade pip version
2923 run : |
@@ -33,19 +27,23 @@ jobs:
3327 run : |
3428 python -m pip install -r requirements.txt
3529 python -m pip install -r docs/requirements.txt
30+ python -m pip install spin
3631
3732 - name : Install lcov
3833 run : |
3934 sudo apt-get update
4035 sudo apt-get install -y lcov
4136
4237 - name : Build package
38+ env :
39+ CXXFLAGS : " -std=c++17 --coverage"
40+ CFLAGS : " --coverage"
4341 run : |
44- CXXFLAGS="-std=c++17 --coverage" CFLAGS="--coverage" python scripts/build/install.py
45- # coverage tests
42+ spin build -v
43+
4644 - name : Run tests
4745 run : |
48- python -m pytest --doctest-modules --cov=./ --cov-report=xml -s
46+ spin test -v
4947
5048 - name : Capture Coverage Data with lcov
5149 run : |
7270 run : |
7371 sphinx-build -b html docs/source/ docs/build/html
7472
75- test-ubuntu-py39-py310 :
73+ test-ubuntu-py39-py310-py311 :
7674 runs-on : ${{matrix.os}}
7775 timeout-minutes : 20
7876 strategy :
8280 python-version :
8381 - " 3.9"
8482 - " 3.10"
83+ - " 3.11"
8584
8685 steps :
8786 - uses : actions/checkout@v3
@@ -99,14 +98,17 @@ jobs:
9998 run : |
10099 python -m pip install -r requirements.txt
101100 python -m pip install -r docs/requirements.txt
101+ python -m pip install spin
102102
103103 - name : Build package
104+ env :
105+ CXXFLAGS : " -std=c++17"
104106 run : |
105- CXXFLAGS="-std=c++17" python scripts/ build/install.py
107+ spin build -v
106108
107109 - name : Run tests
108110 run : |
109- python -c "import pydatastructs; pydatastructs. test(only_benchmarks=True)"
111+ spin test -v
110112
111113 - name : Build Documentation
112114 run : |
@@ -120,9 +122,9 @@ jobs:
120122 matrix :
121123 os : [macos-latest]
122124 python-version :
123- - " 3.8"
124125 - " 3.9"
125126 - " 3.10"
127+ - " 3.11"
126128
127129 steps :
128130 - uses : actions/checkout@v3
@@ -140,66 +142,57 @@ jobs:
140142 run : |
141143 python -m pip install -r requirements.txt
142144 python -m pip install -r docs/requirements.txt
145+ python -m pip install spin
143146
144147 - name : Build package
145148 env :
146149 MACOSX_DEPLOYMENT_TARGET : 11.0
150+ CXXFLAGS : " -std=c++17"
147151 run : |
148- CXXFLAGS="-std=c++17" python scripts/build/install.py
152+ spin build -v
153+
149154 - name : Run tests
150155 run : |
151- python -c "import pydatastructs; pydatastructs. test()"
156+ spin test -v
152157
153158 - name : Build Documentation
154159 run : |
155160 sphinx-build -b html docs/source/ docs/build/html
156161
157- # test-windows:
158- # runs-on: ${{matrix.os}}
159- # timeout-minutes: 20
160- # strategy:
161- # fail-fast: false
162- # matrix:
163- # os: [windows-latest]
164- # python-version:
165- # - "3.8"
166-
167- # steps:
168- # - uses: actions/checkout@v3
169-
170- # - name: Set up Python ${{ matrix.python-version }}
171- # uses: actions/setup-python@v4
172- # with:
173- # python-version: ${{ matrix.python-version }}
174-
175- # - name: Setup conda
176- # uses: s-weigand/setup-conda@v1
177- # with:
178- # update-conda: true
179- # python-version: ${{ matrix.python-version }}
180- # conda-channels: anaconda, conda-forge
181- # # - run: conda --version # This fails due to unknown reasons
182- # - run: which python
183-
184- # - name: Upgrade pip version
185- # run: |
186- # python -m pip install --upgrade pip
187-
188- # - name: Install requirements
189- # run: |
190- # python -m pip install -r requirements.txt
191- # python -m pip install -r docs/requirements.txt
192-
193- # - name: Build package
194- # env:
195- # CL: "/std:c++17"
196- # run: |
197- # python scripts/build/install.py
198-
199- # - name: Run tests
200- # run: |
201- # python -c "import pydatastructs; pydatastructs.test()"
202-
203- # - name: Build Documentation
204- # run: |
205- # sphinx-build -b html docs/source/ docs/build/html
162+ test-windows :
163+ runs-on : windows-latest
164+ strategy :
165+ fail-fast : false
166+ matrix :
167+ python-version : ["3.9", "3.10", "3.11"]
168+
169+ steps :
170+ - uses : actions/checkout@v3
171+
172+ - uses : actions/setup-python@v4
173+ with :
174+ python-version : ${{ matrix.python-version }}
175+
176+ - uses : ilammy/msvc-dev-cmd@v1
177+
178+ - name : Upgrade pip
179+ run : python -m pip install --upgrade pip
180+
181+ - name : Install requirements
182+ run : |
183+ python -m pip install -r requirements.txt
184+ python -m pip install -r docs/requirements.txt
185+ python -m pip install spin
186+
187+ - name : Build package
188+ env :
189+ CFLAGS : " /MD"
190+ CXXFLAGS : " /std:c++17 /MD /Zc:strictStrings-"
191+ CL : " /std:c++17 /MD /Zc:strictStrings-"
192+ run : spin build -v
193+
194+ - name : Run tests
195+ run : spin test -v
196+
197+ - name : Build Documentation
198+ run : sphinx-build -b html docs/source/ docs/build/html
0 commit comments