23
23
24
24
strategy :
25
25
matrix :
26
- os : [ ubuntu-20 .04, macos-13, macos-14, windows-2022 ]
27
- python : [ '3.13-dev ' ]
26
+ os : [ ubuntu-24 .04, macos-13, macos-14, windows-2022 ]
27
+ python : [ '3.13' ]
28
28
plat : [ x86_64 ]
29
29
parallel : [ mpi, serial, serial-pytest, any-symm-pytest, main-test ]
30
30
exclude :
35
35
- os : windows-2022
36
36
parallel : mpi
37
37
include :
38
- - os : ubuntu-20 .04
38
+ - os : ubuntu-24 .04
39
39
python : ' 3.12'
40
40
plat : wasm
41
41
parallel : serial
@@ -48,21 +48,21 @@ jobs:
48
48
python-version : ${{ matrix.python }}
49
49
50
50
- name : install requirements (linux / macos)
51
- if : (matrix.os == 'macos-13' || matrix.os == 'ubuntu-20 .04') && matrix.plat == 'x86_64'
51
+ if : (matrix.os == 'macos-13' || matrix.os == 'ubuntu-24 .04') && matrix.plat == 'x86_64'
52
52
env :
53
53
MKLROOT : ~/.local
54
54
run : |
55
55
python -m pip install pip build twine setuptools --upgrade
56
56
python -m pip install mkl==2021.4 mkl-include intel-openmp numpy 'cmake>=3.19' pybind11==2.12.0
57
57
58
58
- name : install requirements (linux emscripten)
59
- if : matrix.os == 'ubuntu-20 .04' && matrix.plat == 'wasm'
59
+ if : matrix.os == 'ubuntu-24 .04' && matrix.plat == 'wasm'
60
60
run : |
61
61
python -m pip install pip build twine setuptools --upgrade
62
62
python -m pip install pyodide-build numpy 'cmake>=3.19' pybind11==2.12.0
63
63
64
64
- name : setup emscripten (linux emscripten)
65
- if : matrix.os == 'ubuntu-20 .04' && matrix.plat == 'wasm'
65
+ if : matrix.os == 'ubuntu-24 .04' && matrix.plat == 'wasm'
66
66
run : |
67
67
git clone -b main https://github.com/emscripten-core/emsdk.git
68
68
cd emsdk
81
81
python -m pip install numpy 'cmake>=3.19' pybind11==2.12.0
82
82
83
83
- name : install requirements (linux / mpi)
84
- if : matrix.parallel == 'mpi' && matrix.os == 'ubuntu-20 .04'
84
+ if : matrix.parallel == 'mpi' && matrix.os == 'ubuntu-24 .04'
85
85
run : |
86
86
sudo apt-get install libopenmpi-dev
87
87
python -m pip install mpi4py
@@ -93,13 +93,13 @@ jobs:
93
93
python -m pip install intel-openmp==2024.1.0 numpy 'cmake>=3.19' pybind11==2.12.0
94
94
95
95
- name : Download OpenBLAS (linux emscripten)
96
- if : matrix.os == 'ubuntu-20 .04' && matrix.plat == 'wasm'
96
+ if : matrix.os == 'ubuntu-24 .04' && matrix.plat == 'wasm'
97
97
run : |
98
98
wget -q https://github.com/pyodide/pyodide/releases/download/0.26.3/xbuildenv-0.26.3.tar.bz2
99
99
tar xjf xbuildenv-0.26.3.tar.bz2
100
100
101
101
- name : build gtest (linux emscripten)
102
- if : matrix.os == 'ubuntu-20 .04' && matrix.plat == 'wasm'
102
+ if : matrix.os == 'ubuntu-24 .04' && matrix.plat == 'wasm'
103
103
env :
104
104
GTESTROOT : ~/gtest
105
105
run : |
@@ -133,10 +133,10 @@ jobs:
133
133
cmake --install . --prefix $env:GTEST_ROOT
134
134
135
135
- name : build gtest (linux)
136
- if : matrix.os == 'ubuntu-20 .04' && matrix.plat == 'x86_64'
136
+ if : matrix.os == 'ubuntu-24 .04' && matrix.plat == 'x86_64'
137
137
env :
138
- CC : gcc-9
139
- CXX : g++-9
138
+ CC : gcc-14
139
+ CXX : g++-14
140
140
run : |
141
141
lscpu
142
142
sudo apt-get install libgtest-dev
@@ -146,10 +146,10 @@ jobs:
146
146
sudo cp lib/*.a /usr/lib
147
147
148
148
- name : fix mkl for amd cpu
149
- if : matrix.os == 'ubuntu-20 .04' && matrix.plat == 'x86_64'
149
+ if : matrix.os == 'ubuntu-24 .04' && matrix.plat == 'x86_64'
150
150
env :
151
- CC : gcc-9
152
- CXX : g++-9
151
+ CC : gcc-14
152
+ CXX : g++-14
153
153
run : |
154
154
lscpu
155
155
export CPUTYPE=$(lscpu | grep 'Vendor ID' | awk '{print $3}')
@@ -188,10 +188,25 @@ jobs:
188
188
brew update
189
189
brew install libomp
190
190
191
- - name : build test (serial-pytest, linux | macos)
191
+ - name : build test (serial-pytest, linux)
192
+ if : |
193
+ (matrix.parallel == 'serial-pytest' || matrix.parallel == 'main-test') &&
194
+ matrix.os == 'ubuntu-24.04' && matrix.plat == 'x86_64'
195
+ env :
196
+ MKLROOT : ~/.local
197
+ CC : gcc-14
198
+ CXX : g++-14
199
+ run : |
200
+ mkdir build
201
+ cd build
202
+ cmake --version
203
+ cmake .. -DUSE_MKL=ON -DBUILD_LIB=ON -DLARGE_BOND=ON -DUSE_COMPLEX=ON -DUSE_SG=ON
204
+ make -j 2
205
+
206
+ - name : build test (serial-pytest, macos)
192
207
if : |
193
208
(matrix.parallel == 'serial-pytest' || matrix.parallel == 'main-test') &&
194
- ( matrix.os == 'ubuntu-20.04' || matrix.os == ' macos-13') && matrix.plat == 'x86_64'
209
+ matrix.os == 'macos-13' && matrix.plat == 'x86_64'
195
210
env :
196
211
MKLROOT : ~/.local
197
212
MACOSX_DEPLOYMENT_TARGET : ' 11.0'
@@ -232,8 +247,21 @@ jobs:
232
247
cmake -G "Visual Studio 17 2022" -S .. -B . -DUSE_MKL=OFF -DBUILD_LIB=ON -DLARGE_BOND=ON -DUSE_COMPLEX=ON -DUSE_SG=ON
233
248
cmake --build . -j 2 --config Release -- '/v:d'
234
249
235
- - name : build test (any-symm-pytest, linux | macos)
236
- if : matrix.parallel == 'any-symm-pytest' && (matrix.os == 'ubuntu-20.04' || matrix.os == 'macos-13') && matrix.plat == 'x86_64'
250
+ - name : build test (any-symm-pytest, linux)
251
+ if : matrix.parallel == 'any-symm-pytest' && matrix.os == 'ubuntu-24.04' && matrix.plat == 'x86_64'
252
+ env :
253
+ MKLROOT : ~/.local
254
+ CC : gcc-14
255
+ CXX : g++-14
256
+ run : |
257
+ mkdir build
258
+ cd build
259
+ cmake --version
260
+ cmake .. -DUSE_MKL=ON -DBUILD_LIB=ON -DLARGE_BOND=ON -DUSE_COMPLEX=ON -DUSE_SU2SZ=OFF -DUSE_SANY=ON
261
+ make -j 2
262
+
263
+ - name : build test (any-symm-pytest, macos)
264
+ if : matrix.parallel == 'any-symm-pytest' && matrix.os == 'macos-13' && matrix.plat == 'x86_64'
237
265
env :
238
266
MKLROOT : ~/.local
239
267
MACOSX_DEPLOYMENT_TARGET : ' 11.0'
@@ -287,7 +315,7 @@ jobs:
287
315
cmake --build . -j 2 --config Release -- '/v:d'
288
316
289
317
- name : build test (serial, linux emscripten)
290
- if : matrix.parallel == 'serial' && matrix.os == 'ubuntu-20 .04' && matrix.plat == 'wasm'
318
+ if : matrix.parallel == 'serial' && matrix.os == 'ubuntu-24 .04' && matrix.plat == 'wasm'
291
319
env :
292
320
GTESTROOT : ~/gtest
293
321
run : |
@@ -302,11 +330,11 @@ jobs:
302
330
emmake make -j 2
303
331
304
332
- name : build test (serial, linux)
305
- if : matrix.parallel == 'serial' && matrix.os == 'ubuntu-20 .04' && matrix.plat == 'x86_64'
333
+ if : matrix.parallel == 'serial' && matrix.os == 'ubuntu-24 .04' && matrix.plat == 'x86_64'
306
334
env :
307
335
MKLROOT : ~/.local
308
- CC : gcc-9
309
- CXX : g++-9
336
+ CC : gcc-14
337
+ CXX : g++-14
310
338
run : |
311
339
mkdir build_test
312
340
cd build_test
@@ -357,14 +385,14 @@ jobs:
357
385
.\block2_tests.exe
358
386
359
387
- name : run test (serial, linux emscripten)
360
- if : matrix.parallel == 'serial' && matrix.os == 'ubuntu-20 .04' && matrix.plat == 'wasm'
388
+ if : matrix.parallel == 'serial' && matrix.os == 'ubuntu-24 .04' && matrix.plat == 'wasm'
361
389
run : |
362
390
source emsdk/emsdk_env.sh
363
391
cd build_test
364
392
node block2_tests.js
365
393
366
394
- name : run test (serial, linux)
367
- if : matrix.parallel == 'serial' && matrix.os == 'ubuntu-20 .04' && matrix.plat == 'x86_64'
395
+ if : matrix.parallel == 'serial' && matrix.os == 'ubuntu-24 .04' && matrix.plat == 'x86_64'
368
396
run : |
369
397
export CPUTYPE=$(lscpu | grep 'Vendor ID' | awk '{print $3}')
370
398
if [ "$CPUTYPE" = "AuthenticAMD" ]; then
@@ -397,7 +425,7 @@ jobs:
397
425
python -m pytest -s pyblock2/unit_test/dmrg.py pyblock2/unit_test/dmrg_mpo.py pyblock2/unit_test/dmrg_npdm.py --fd_data=${xpwd}/data
398
426
399
427
- name : run test (serial-pytest, linux)
400
- if : matrix.parallel == 'serial-pytest' && matrix.os == 'ubuntu-20 .04'
428
+ if : matrix.parallel == 'serial-pytest' && matrix.os == 'ubuntu-24 .04'
401
429
run : |
402
430
python -m pip install pytest 'pyscf==2.6.2' 'scipy==1.14.1'
403
431
export PYTHONPATH=$(pwd)/build:$(pwd):${PYTHONPATH}
@@ -435,7 +463,7 @@ jobs:
435
463
.\run-test.ps1
436
464
437
465
- name : run test (main-test, linux)
438
- if : matrix.parallel == 'main-test' && matrix.os == 'ubuntu-20 .04'
466
+ if : matrix.parallel == 'main-test' && matrix.os == 'ubuntu-24 .04'
439
467
run : |
440
468
python -m pip install pytest 'pyscf==2.6.2' 'scipy==1.14.1'
441
469
export PYTHONPATH=$(pwd)/build:$(pwd):${PYTHONPATH}
@@ -475,7 +503,7 @@ jobs:
475
503
python -m pytest -s pyblock2/unit_test/dmrg.py pyblock2/unit_test/dmrg_mpo.py pyblock2/unit_test/dmrg_npdm.py --symm sany --fd_data=${xpwd}/data
476
504
477
505
- name : run test (any-symm-pytest, linux)
478
- if : matrix.parallel == 'any-symm-pytest' && matrix.os == 'ubuntu-20 .04'
506
+ if : matrix.parallel == 'any-symm-pytest' && matrix.os == 'ubuntu-24 .04'
479
507
run : |
480
508
python -m pip install pytest 'pyscf==2.6.2' 'scipy==1.14.1'
481
509
export PYTHONPATH=$(pwd)/build:$(pwd):${PYTHONPATH}
@@ -520,8 +548,8 @@ jobs:
520
548
521
549
strategy :
522
550
matrix :
523
- os : [ ubuntu-20 .04, macos-13, windows-2022, macos-14 ]
524
- python : [ '3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13-dev ' ]
551
+ os : [ ubuntu-24 .04, macos-13, windows-2022, macos-14 ]
552
+ python : [ '3.7', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13' ]
525
553
manylinux : [ 2014 ]
526
554
plat : [ x86_64, arm64 ]
527
555
parallel : [ mpi, serial ]
@@ -536,7 +564,7 @@ jobs:
536
564
plat : x86_64
537
565
- os : macos-14
538
566
python : ' 3.7'
539
- - os : ubuntu-20 .04
567
+ - os : ubuntu-24 .04
540
568
plat : arm64
541
569
- os : windows-2022
542
570
parallel : mpi
@@ -546,12 +574,18 @@ jobs:
546
574
547
575
steps :
548
576
- uses : actions/checkout@v4
549
- - uses : actions/setup-python@v5
577
+ - if : matrix.os == 'macos-13' || matrix.os == 'macos-14' || matrix.os == 'windows-2022'
578
+ uses : actions/setup-python@v5
550
579
with :
551
580
python-version : ${{ matrix.python }}
552
581
582
+ - if : matrix.os == 'ubuntu-24.04'
583
+ uses : actions/setup-python@v5
584
+ with :
585
+ python-version : ' 3.13'
586
+
553
587
- name : install requirements (linux / macos)
554
- if : matrix.os == 'macos-13' || matrix.os == 'ubuntu-20 .04'
588
+ if : matrix.os == 'macos-13' || matrix.os == 'ubuntu-24 .04'
555
589
env :
556
590
MKLROOT : ~/.local
557
591
run : |
@@ -671,7 +705,7 @@ jobs:
671
705
delocate-wheel --require-archs=arm64 -k dist/*.whl
672
706
673
707
- name : prepare build wheels (manylinux)
674
- if : startsWith(github.ref, 'refs/tags/') && matrix.os == 'ubuntu-20 .04'
708
+ if : startsWith(github.ref, 'refs/tags/') && matrix.os == 'ubuntu-24 .04'
675
709
env :
676
710
TAG_STRING : ${{ github.event.ref }}
677
711
run : |
@@ -680,7 +714,7 @@ jobs:
680
714
cp ./.github/actions/build-wheel/Dockerfile.manylinux${{ matrix.manylinux }} ./.github/actions/build-wheel/Dockerfile
681
715
682
716
- name : build wheels (manylinux)
683
- if : startsWith(github.ref, 'refs/tags/') && matrix.os == 'ubuntu-20 .04'
717
+ if : startsWith(github.ref, 'refs/tags/') && matrix.os == 'ubuntu-24 .04'
684
718
uses : ./.github/actions/build-wheel
685
719
with :
686
720
python-version : ${{ matrix.python }}
@@ -703,7 +737,7 @@ jobs:
703
737
pypi :
704
738
name : pypi
705
739
needs : [build, test]
706
- runs-on : ubuntu-20 .04
740
+ runs-on : ubuntu-24 .04
707
741
if : startsWith(github.ref, 'refs/tags/')
708
742
environment :
709
743
name : github-pages
@@ -712,7 +746,7 @@ jobs:
712
746
- uses : actions/checkout@v4
713
747
- uses : actions/setup-python@v5
714
748
with :
715
- python-version : ' 3.13-dev '
749
+ python-version : ' 3.13'
716
750
717
751
- name : build source dist (serial)
718
752
env :
@@ -768,13 +802,13 @@ jobs:
768
802
publish :
769
803
name : publish
770
804
needs : [build, test]
771
- runs-on : ubuntu-20 .04
805
+ runs-on : ubuntu-24 .04
772
806
if : startsWith(github.ref, 'refs/tags/v')
773
807
steps :
774
808
- uses : actions/checkout@v4
775
809
- uses : actions/setup-python@v5
776
810
with :
777
- python-version : ' 3.13-dev '
811
+ python-version : ' 3.13'
778
812
779
813
- name : build source dist (serial)
780
814
env :
0 commit comments