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
3732name : Install lcov 
3833        run : | 
3934          sudo apt-get update 
4035          sudo apt-get install -y lcov 
4136
4237name : 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+ 
4644name : Run tests 
4745        run : | 
48-           python -m pytest --doctest-modules --cov=./ --cov-report=xml -s  
46+           spin test -v  
4947
5048name : 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
103103name : 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
107109name : Run tests 
108110        run : | 
109-           python -c "import pydatastructs; pydatastructs. test(only_benchmarks=True)"  
111+           spin  test -v  
110112
111113name : 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
144147name : 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+ 
149154name : Run tests 
150155        run : | 
151-           python -c "import pydatastructs; pydatastructs. test()"  
156+           spin  test -v  
152157
153158name : 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