Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
170 commits
Select commit Hold shift + click to select a range
574b085
Update version to 3.9.0.17. (#6638)
ZhouXY-PKU Oct 24, 2025
0498d0f
Test: Add an integrate test for `out_chg` under OFDFT. (#6640)
sunliang98 Oct 24, 2025
cb0924b
Test: Fix two bugs of test scripts (#6642)
sunliang98 Oct 26, 2025
b6b20b2
Update ESolver, simplify the ESolver_KS_LCAO class (#6636)
mohanchen Oct 26, 2025
2543590
Fix: include elecstate_lcao in edm.cpp (#6644)
ZhouXY-PKU Oct 26, 2025
91d71e2
Test: Fix CMakeList.txt (#6645)
sunliang98 Oct 27, 2025
cd52ac3
Fix: fix declarations of some BLAS and LAPACK functions. (#6637)
dzzz2001 Oct 27, 2025
0857ee1
Fix: remove rwork from ssyevx function declaration (#6647)
kluonj Oct 27, 2025
ecb36de
Feature: EXX PW supports k-point parallelism (#6648)
Flying-dragon-boxing Oct 28, 2025
a201da3
Fix: set the maximal cutoff radius of orbital as the lower bound of s…
kirk0830 Oct 29, 2025
efaf1e3
Feature: EXX PW supports a `ecut` different from `ecutrho` (#6650)
Flying-dragon-boxing Oct 29, 2025
4e37d33
Add: D3 zero-damping parameters for PBEsol (issue#6646) (#6660)
kirk0830 Oct 30, 2025
ab87e38
refactor stress_ewa (#6669)
dzzz2001 Nov 2, 2025
704c671
Refactor: RT-TDDFT ESolver `ESolver_KS_LCAO_TDDFT` (#6668)
AsTonyshment Nov 2, 2025
fa1d1fd
Refactor: Simplify functions in sparse_format. (#6606)
ErjieWu Nov 2, 2025
9ce0542
Modify the call to Parallel_Orbital and remove unnecessary code in ct…
AsTonyshment Nov 4, 2025
ea6dbc7
Refactor: change the readin directory of deepks_projdm.dat (#6673)
ErjieWu Nov 4, 2025
82c3edb
Fix template disambiguation error in esolver_ks_lcao_tddft.cpp (#6678)
AsTonyshment Nov 4, 2025
e12c403
Remove DM from elecstate (#6675)
mohanchen Nov 5, 2025
41ddd13
Fix: Update source_base/test_parallel/CMakeLists.txt (#6679)
sunliang98 Nov 5, 2025
7e4e4ff
Fix compilation error on Sunway (#6683)
Critsium-xy Nov 6, 2025
443f89e
Fix: Resolve the compilation error in the Intel oneAPI 2025.3 contain…
sunliang98 Nov 6, 2025
46bc1a4
Refactor cal_edm_tddft to replace raw ScaLAPACK and BLAS calls with S…
AsTonyshment Nov 6, 2025
efbf84e
Add new blas/lapack interfaces (#6658)
Cstandardlib Nov 6, 2025
dad7304
Fix DM in PEXSI (#6689)
mohanchen Nov 7, 2025
1f926b8
Fix a minor LaTeX rendering issue of td_ttype in doc (#6692)
AsTonyshment Nov 7, 2025
2add562
[Fix]An Intel Build test for abacus with PEXSI support (#6688)
ZhouXY-PKU Nov 7, 2025
483c6b8
Update version to v3.9.0.18 (#6690)
ieiue Nov 7, 2025
feb20e8
Add iostream include to cusolver.h (#6696)
ieiue Nov 10, 2025
c3eb4e6
Remove GlobalC::dftu (#6694)
mohanchen Nov 10, 2025
1c2a933
Reducing the size of esolver_ks_lcao (#6697)
mohanchen Nov 11, 2025
5a7a30a
fix the search radius in L calculator (#6705)
maki49 Nov 13, 2025
7baaab1
Fix: fix a bug caused by intel compiler (#6703)
dzzz2001 Nov 13, 2025
ec40f66
Changed the positions of template class declarations in rdmft_tools …
ZhouXY-PKU Nov 17, 2025
74e0c5b
Initial commit (#6708)
Critsium-xy Nov 17, 2025
e667040
Refactor&Feature: Package some parameters in DeePKS for simplificatio…
ErjieWu Nov 17, 2025
4bda3c2
[Fix]An Intel Build test for abacus with PEXSI support(PART II) (#6707)
ZhouXY-PKU Nov 18, 2025
ab92526
Add INPUT parameter of dsp counts (#6717)
Critsium-xy Nov 19, 2025
963edf7
Feature: add xc output info (#6715)
linpeize Nov 19, 2025
917092e
Toolchain and docs modification (#6718)
QuantumMisaka Nov 19, 2025
812c485
Fix: Bug in EXX PW, nspin=2 due to wrong k-point index (#6721)
Flying-dragon-boxing Nov 21, 2025
b809520
Update Cereal URL in FindCereal.cmake (#6722)
ZhouXY-PKU Nov 21, 2025
6d58062
modify the description of the BFGS parameter (#6710)
19hello Nov 21, 2025
19a9e54
Fix: Update LibRI URL in FindLibRI.cmake to use codeload for fetching…
kluonj Nov 21, 2025
3f4dd49
Refactor: Support RT-TDDFT EDM calculation in Tensor (#6726)
AsTonyshment Nov 21, 2025
d50ca30
Fix: Fix coverage test (#6725)
sunliang98 Nov 22, 2025
c255710
update version.h (#6720)
19hello Nov 22, 2025
95cdcb4
Build(deps): Bump actions/upload-artifact from 4 to 5 (#6729)
dependabot[bot] Nov 25, 2025
f5baedd
Build(deps): Bump actions/checkout from 5 to 6 (#6728)
dependabot[bot] Nov 25, 2025
ba64a15
Fix: remove gamma_only_local as para of write_rhog (#6733)
YuLiu98 Nov 25, 2025
94078ea
Remove useless code in CMakeLists (#6732)
Critsium-xy Nov 26, 2025
4bf723c
filter input non-ASCII char before process (#6739)
goodchong Nov 28, 2025
7d7c750
Increase threshold for 187_PW_MD_SDFT_ALL_GPU test (#6742)
Qianruipku Nov 28, 2025
414f59a
Change some int to long long. (#6743)
ErjieWu Dec 1, 2025
a4f4678
Fix: EXX PW occupation number issue in nspin==2 && support for CUDA-A…
Flying-dragon-boxing Dec 1, 2025
f671ce1
[Feature]A new `-i/-I/--info` argument to show details of configurati…
ZhouXY-PKU Dec 1, 2025
3b58709
refactor the call of initialization of charge density (#6744)
mohanchen Dec 2, 2025
ee6535c
Feature: support `init_chg dm` to restart with DMR (#6753)
dyzheng Dec 3, 2025
a38ba1b
Update some names of deepks tests and refactor some ofdft codes (#6754)
mohanchen Dec 3, 2025
6a94875
Feature: tools for selective dynamics with ABACUS + Phonopy (#6755)
YuLiu98 Dec 3, 2025
6b96629
Feature: Support RT-TDDFT EDM calculation on GPU (#6762)
AsTonyshment Dec 4, 2025
778d420
Fix CUDA GPU detection crash when running with device=cpu on machines…
Copilot Dec 6, 2025
f1c5f1b
Bump version 3.9.0.20 (#6764)
Flying-dragon-boxing Dec 6, 2025
be03870
Refactor and Optimize snap_psibeta_half_tddft (#6765)
dzzz2001 Dec 8, 2025
2f150d3
[Refactor] Support different CUDA versions in one single cuda_compat.…
Cstandardlib Dec 11, 2025
32ef0ed
Fix: Fix an extremely serious bug that causes incorrect results in GP…
AsTonyshment Dec 11, 2025
feb1268
Test: Update the parameter and reference results of 23_OF_LPS (#6774)
sunliang98 Dec 12, 2025
a5b39cc
Test: Update CI/CD tests for RT-TDDFT and add hybrid gauge and parame…
AsTonyshment Dec 12, 2025
d010cc0
Fix energy jumps occur in rt-TDDFT calculations (#6779)
ESROAMER Dec 13, 2025
c677ec6
[Fix] Report and exit for unsupported DSP KPAR configuration (#6771)
Cstandardlib Dec 13, 2025
ce25b0d
[Fix]Enable abacus to be compiled with CXX 17 & CUDA 13 (#6777)
ZhouXY-PKU Dec 15, 2025
3e41893
[Test] Use WARNING_QUIT instead of exit, Add and refactor unittests f…
Cstandardlib Dec 15, 2025
4e67212
Build(deps): Bump actions/upload-artifact from 5 to 6 (#6783)
dependabot[bot] Dec 15, 2025
35844eb
Add average iterative diagonalization step output (#6795)
Cstandardlib Dec 19, 2025
9ae2066
Update version to v3.9.0.21 (#6797)
xuan112358 Dec 20, 2025
bd19b48
Fix indptr overflow. (#6803)
ErjieWu Dec 23, 2025
a356ede
Feature: Add a new parameter `out_freq_td` to control output frequenc…
AsTonyshment Dec 23, 2025
a1f2685
Add threshold to avoid gap=0 in NaCl (#6802)
LKFEIYI Dec 23, 2025
08091e5
Feature: add exx_cs_inv_thr to get inverse Coulomb (#6793)
AroundPeking Dec 23, 2025
29f141d
refactor(NEP): Update the name of `NEP` class, and modify the makefi…
MoseyQAQ Dec 25, 2025
b188f21
perf(TDDFT): Add CUDA acceleration for snap_psibeta_half function (Us…
dzzz2001 Dec 28, 2025
7769708
fix a gpu memory leak (#6809)
dzzz2001 Dec 28, 2025
7181550
Fix:: replace deprecated CUDA_VERSION and handle CUDA 13+ architectur…
Flying-dragon-boxing Dec 28, 2025
95cdc5e
Simplify Lmax in Center2_Orb and Matrix_Orbs (#6806)
linpeize Dec 31, 2025
95bb8ee
Update version to 3.9.0.22. (#6820)
ErjieWu Jan 3, 2026
5defffe
Simplify `Lmax` and `ORB_gaunt_table` in `Center2_Orb` and `Matrix_Or…
linpeize Jan 3, 2026
140b272
Fix kpar check for DSP (#6825)
Cstandardlib Jan 4, 2026
06751a0
change reduce (#6827)
A-006 Jan 5, 2026
2156598
Add new tests in the integrate tests of LCAO gamma only calculations …
mohanchen Jan 5, 2026
80cc432
[Refactor] Replaced all exposed mathematical library interface (#6828)
Critsium-xy Jan 5, 2026
427105d
Fix: Resolve memory leak when using solvation model (#6835)
LKFEIYI Jan 7, 2026
9c04ee6
Simplify Lmax and rmesh in Matrix_Orbs and Center2_Orb (#6829)
linpeize Jan 7, 2026
586f54c
Refactor class DensityMatrix. (#6831)
linpeize Jan 7, 2026
23309f2
Add check for init_wfc to use proper atomic/random starting wavefunct…
Cstandardlib Jan 7, 2026
226ecb9
add DensityMatrix<complex,complex> (#6834)
linpeize Jan 7, 2026
b07057f
Refactor implicit solvation model (#6836)
LKFEIYI Jan 7, 2026
24ff385
Refactor: Remove dependency on shell commands for file operations (#…
A-006 Jan 7, 2026
91476ef
reduce FFT calls in Leps2 (#6839)
LKFEIYI Jan 9, 2026
72f55c4
[Refactor] Complete clean exposed mathematical library interfaces (#6…
Critsium-xy Jan 9, 2026
fb7a145
Feature: `init_chg hr` for initializing charge density with hrs1_nao…
dyzheng Jan 9, 2026
9fd83e5
[Fix] Fix Docker directory permissions in workflow (#6845)
ZhouXY-PKU Jan 9, 2026
8ec123c
[Refactor] Complete rework of diago_lapack (#6843)
Critsium-xy Jan 10, 2026
cd4d234
Refactor and Fix Parallel Handling of Plane Wave Counts in Eigenvalue…
A-006 Jan 12, 2026
3fcf5f7
Refactor ModuleESolver::init_esolver() (#6849)
linpeize Jan 13, 2026
f7deafc
Refactor: simplify snap_psibeta_half_tddft.cpp (#6846)
dzzz2001 Jan 13, 2026
1348a16
Fix: Al ESP result discrepancy & add wavefunction normalization (#6853)
lyb9812 Jan 13, 2026
cc9848e
Fix: Yet another wrong index in `act_op_kpar` for spin-polarized calc…
Flying-dragon-boxing Jan 13, 2026
f96f14e
Fix: correct nvc++ compiler compatibility issues (#6854)
dzzz2001 Jan 13, 2026
08a5e4f
Fix: no k weights for get_wf (#6859)
dyzheng Jan 15, 2026
48bfcaa
Fix: doc of soc (#6856)
dyzheng Jan 15, 2026
e003d49
Fix&Doc: do not overwrite k-point weights for non-MP k-point lists (#…
dyzheng Jan 15, 2026
880cd2f
Fix cudaErrIllegalAddress by using correct device pointer (#6862)
Cstandardlib Jan 15, 2026
ed0b428
Fix: skip MPI test for lapack UT (#6861)
dyzheng Jan 15, 2026
7a09883
Optimize install_openmpi.sh script (#6863)
19hello Jan 17, 2026
72dca3f
Bump version to v3.9.0.23 (#6866)
Cstandardlib Jan 17, 2026
a53930b
change uplo to U for lapack_hegvd to be consistent with former routin…
Cstandardlib Jan 18, 2026
98d9bbb
Test: Add GPU tests for dav_subspace (#6869)
Cstandardlib Jan 19, 2026
6ad3b99
Update source files for NEP installation script (#6871)
ZhouXY-PKU Jan 20, 2026
88bdd3b
Update LAPACK solver (#6870)
Critsium-xy Jan 20, 2026
c76692f
Update init_wfc message to be user-friendly (#6876)
Cstandardlib Jan 21, 2026
b497e7b
Fix compile warning of iteration index(int) undefined behavior (#6874)
Cstandardlib Jan 21, 2026
c82406b
[Tests]Fix md_nsteps in 04_FF (50DP&101NEP) (#6872)
ZhouXY-PKU Jan 21, 2026
0888140
Feature: Introduce ML_Base class and add ML_EXX support (#6884)
sunliang98 Jan 23, 2026
70c54c9
Refactor: save memory for kinetic and overlap force and stress (#6881)
dyzheng Jan 23, 2026
175ad10
change col_major to row_major (#6885)
dzzz2001 Jan 23, 2026
60f5aac
Fix a readin bug, add pchg test in integrate tests, update some examp…
mohanchen Jan 23, 2026
2182aca
Refactor wavefunction initialization in lcao_others (#6887)
AsTonyshment Jan 23, 2026
8a487b6
ci: use OIDC for codecov-action (#6891)
njzjz-bot Jan 24, 2026
ecb602e
Some small updates, including timer, and eliminate clean function in …
mohanchen Jan 24, 2026
c1c0d01
Update PEXSI_VERSION to use GitHub source (#6894)
ZhouXY-PKU Jan 25, 2026
70e5f7d
Refactor/device check migration (#6895)
mohanchen Jan 25, 2026
0c8b6dc
Feature: add Hessian operator <\phi|\nabla_x\nabla_y|\phi> (#6888)
dyzheng Jan 25, 2026
fa35f83
Migrate exx_info (#6896)
mohanchen Jan 25, 2026
7008a78
Try to delete global.h, the use of which is harmful for the whole pac…
mohanchen Jan 25, 2026
272d6b4
refactor(gint): remove obsolete temp_gint directory (#6899)
dzzz2001 Jan 25, 2026
b16fcff
Support using hybrid functionals for RT-TDDFT calculations. (#6886)
ESROAMER Jan 25, 2026
3561573
Refactor&Doc: simplify read_atoms.cpp and update stru.md doc (#6903)
dyzheng Jan 25, 2026
e9dc0b7
Fix: enhance several warning messages (#6908)
sunliang98 Jan 26, 2026
4b3d15f
Fix dependency cycles (#6902)
mohanchen Jan 27, 2026
25b3125
Fix: Minor fixes for EXX PW (#6877)
Flying-dragon-boxing Jan 27, 2026
4ed50cb
Feature&Doc: support fix_axes and fix_ibrav for relax_new=false and o…
dyzheng Jan 27, 2026
d28f7ca
Feature: support ELF with non-collinear spin (nspin = 4) (#6912)
dyzheng Jan 27, 2026
beae8b2
Reorganize the pw module source files (#6913)
mohanchen Jan 27, 2026
55b847b
Fix: Hefei-NAMD interface of file syns_nao.csr and parameter cal_syns…
dyzheng Jan 27, 2026
c243e11
Replace goto with while loop in occupy.cpp (#6919)
Cstandardlib Jan 28, 2026
95f6450
Fix: Robust handling of bandgap boundary conditions in ElecState and …
A-006 Jan 28, 2026
484ccfe
Fix some initialization problems (#6921)
mohanchen Jan 28, 2026
db59dcc
Refactor: rename to delete new from names of operators in source_lcao…
dyzheng Jan 29, 2026
77d4f65
Docs: Fix doc and warning for init_chg, nspin=1 (#6929)
Cstandardlib Jan 29, 2026
dda5fd5
Refactor Parallel_Reduce: Replace manual gather-reduce with MPI_Allr…
A-006 Jan 29, 2026
bcb06d8
Refactor Parallel_Reduce and optimize reduction operations (#6925)
A-006 Jan 29, 2026
f02f239
Fix: useless output with EXX and symmetry on (#6934)
dyzheng Jan 30, 2026
2c7ebf0
Refactor: Refine ELF Output for Noncollinear Spin (nspin=4) (#6914)
sunliang98 Jan 30, 2026
5e17d47
Life Savior (#6938)
Flying-dragon-boxing Jan 31, 2026
1778e90
Reorganize the source_psi and source_io directories (#6923)
mohanchen Feb 1, 2026
515e323
Bump version to 3.9.0.24 (#6944)
Critsium-xy Feb 2, 2026
14746d3
Refactor: Device module modernization and GPU initialization consolid…
dzzz2001 Feb 2, 2026
6b91689
[Tests] Set DOT_NUM_THREADS and force clean workspace to make the dox…
ZhouXY-PKU Feb 2, 2026
c03a934
Refactor: Unify CUDA spherical harmonics (sph_harm) implementation (U…
dzzz2001 Feb 3, 2026
d4b15bc
Use sum_cube.py in place of sum_cube.cpp (#6948)
Cstandardlib Feb 3, 2026
17b38af
Feature: support pyabacus to run abacus directory (Useful information…
dyzheng Feb 3, 2026
be3b24c
Fix GPU single precision energy error in dav_subspace solver (#6946)
zhubonan Feb 4, 2026
f9a265a
Fix memory recorder (#6952)
Critsium-xy Feb 6, 2026
06fb968
Refactor: support modern cuSOLVERMp with NCCL (#6951)
dzzz2001 Feb 7, 2026
cccea3e
Docs: update cuSolverMP documentation for HPC SDK version differences…
dzzz2001 Feb 8, 2026
8929b2d
Fix RT-TDDFT segfault when initial SCF fails to converge (#6954)
AsTonyshment Feb 8, 2026
eea0f93
Fix C++17 inline constexpr to support C++11 (#6957)
dzzz2001 Feb 8, 2026
6647d6a
Update CMakefile, refactor some files in source_io (#6959)
mohanchen Feb 10, 2026
787376c
docs: Update example and docs for GPU-LCAO acceleration (#6961)
QuantumMisaka Feb 10, 2026
c039e92
Optimize vloc_of_g by skipping negligible analytic terms (#6932)
A-006 Feb 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 9 additions & 4 deletions .github/workflows/build_test_cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@ jobs:
name: "Build with Intel toolchain"

- tag: gnu
build_args: "-DENABLE_LIBXC=1 -DDENABLE_MLALGO=1 -DENABLE_LIBRI=1"
build_args: "-DENABLE_LIBXC=1 -DENABLE_MLALGO=1 -DENABLE_LIBRI=1"
name: "Build extra components with GNU toolchain"
- tag: intel
build_args: "-DENABLE_LIBXC=1 -DENABLE_MLALGO=1 -DENABLE_LIBRI=1"
build_args: "-DENABLE_LIBXC=1 -DENABLE_PEXSI=1 -DENABLE_MLALGO=1 -DENABLE_LIBRI=1"
name: "Build extra components with Intel toolchain"

- tag: cuda
build_args: "-DUSE_CUDA=1"
name: "Build with CUDA support"
- tag: gnu
build_args: "-DENABLE_LCAO=OFF"
build_args: "-DENABLE_LCAO=0"
name: "Build without LCAO"
- tag: gnu
build_args: "-DUSE_ELPA=0 "
Expand All @@ -43,12 +43,17 @@ jobs:
container: ghcr.io/deepmodeling/abacus-${{ matrix.tag }}
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
submodules: recursive

- name: Build
run: |
git config --global --add safe.directory `pwd`
export LD_LIBRARY_PATH=${GKLIB_ROOT}/lib:${METIS32_ROOT}/lib:${PARMETIS32_ROOT}/lib:${SUPERLU32_DIST_ROOT}/lib:${PEXSI32_ROOT}/lib:${LD_LIBRARY_PATH}
export PKG_CONFIG_PATH=${GKLIB_ROOT}/lib/pkgconfig:${METIS32_ROOT}/lib/pkgconfig:${PARMETIS32_ROOT}/lib/pkgconfig:${SUPERLU32_DIST_ROOT}/lib/pkgconfig:${PEXSI32_ROOT}/lib/pkgconfig:${PKG_CONFIG_PATH}
export CPATH=${GKLIB_ROOT}/include:${METIS32_ROOT}/include:${PARMETIS32_ROOT}/include:${SUPERLU32_DIST_ROOT}/include:${PEXSI32_ROOT}/include:${CPATH}
export CMAKE_PREFIX_PATH=${PEXSI32_ROOT}:${SUPERLU_DIST32_ROOT}:${PARMETIS32_ROOT}:${METIS32_ROOT}:${GKLIB_ROOT}:${CMAKE_PREFIX_PATH}
rm -rf build
cmake -B build ${{ matrix.build_args }}
cmake --build build -j2
6 changes: 4 additions & 2 deletions .github/workflows/build_test_makefile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,12 @@ jobs:
container: ghcr.io/deepmodeling/abacus-${{ matrix.tag }}
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Build
run: |
export I_MPI_CXX=icpx
chmod a+x generate_build_info.sh
cd source
make -j2 ${{ matrix.build_args }}
mkdir build && cd build
make -f ../Makefile -j2 ${{ matrix.build_args }}

102 changes: 78 additions & 24 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,87 @@ on:
workflow_dispatch:
push:
tags:
- 'v*'
- 'v*'
jobs:
test-coverage:
name: Generate Coverage Report
runs-on: X64
container: ghcr.io/deepmodeling/abacus-gnu
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Install Requirements for Coverage Testing
run: |
apt update && apt install -y lcov gpg curl jq ca-certificates
- name: Building
run: |
cmake -B build -DENABLE_COVERAGE=ON -DBUILD_TESTING=ON -DENABLE_MLALGO=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_GOOGLEBENCH=ON -DENABLE_RAPIDJSON=ON
cmake --build build -j`nproc`
cmake --install build
- name: Testing
env:
OMP_NUM_THREADS: 1
run: |
cmake --build build --target test ARGS="-V --timeout 21600" || exit 0
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v5
if: ${{ ! cancelled() }}
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
skip_validation: true
verbose: true
- name: Checkout
uses: actions/checkout@v6
with:
submodules: recursive

- name: Install Perl Dependencies and Coverage Tools
run: |
apt update && apt install -y curl jq ca-certificates python3-pip
apt install -y lcov perl-modules
apt install -y libcapture-tiny-perl libdatetime-perl libjson-perl libperlio-gzip-perl
lcov --version

- name: Building with Coverage
run: |
rm -rf build/
rm -f CMakeCache.txt

mkdir -p build
chmod -R 755 build/

cmake -B build \
-DENABLE_COVERAGE=ON \
-DBUILD_TESTING=ON \
-DENABLE_MLALGO=ON \
-DENABLE_LIBXC=ON \
-DENABLE_LIBRI=ON \
-DENABLE_GOOGLEBENCH=ON \
-DENABLE_RAPIDJSON=ON \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_CXX_FLAGS="--coverage -fprofile-arcs -ftest-coverage" \
-DCMAKE_EXE_LINKER_FLAGS="--coverage"
cmake --build build -j`nproc`
cmake --install build

- name: Testing
env:
OMP_NUM_THREADS: 1
run: |
chmod -R 755 build/
cmake --build build --target test ARGS="-V --timeout 21600" || echo "Some tests failed but continuing for coverage"

- name: Generate Coverage Data
run: |
cd build

lcov --directory . --capture --output-file coverage.info

lcov --remove coverage.info '/usr/*' '*/test/*' '*/external/*' '*/build/*' --output-file coverage.filtered.info

genhtml coverage.filtered.info --output-directory coverage-report

cd ..

- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v5
if: ${{ ! cancelled() }}
with:
fail_ci_if_error: true
files: ./build/coverage.xml,./build/coverage.info
directory: ./build/
flags: unittests
name: codecov-umbrella
verbose: true

use_oidc: true
- name: Upload Coverage Report Artifact
uses: actions/upload-artifact@v6
if: always()
with:
name: coverage-report
path: |
build/coverage-report/
build/coverage.info
build/coverage.xml
retention-days: 30
permissions:
id-token: write
3 changes: 2 additions & 1 deletion .github/workflows/cuda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
submodules: recursive

Expand All @@ -33,6 +33,7 @@ jobs:
- name: Build
run: |
nvidia-smi
rm -rf build
cmake -B build -DUSE_CUDA=ON -DBUILD_TESTING=ON
cmake --build build -j4
cmake --install build
Expand Down
14 changes: 13 additions & 1 deletion .github/workflows/devcontainer.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Container

on:
create:
push:
branches:
- develop
Expand All @@ -16,8 +17,14 @@ jobs:
matrix:
dockerfile: ["gnu","intel","cuda"]
steps:
- name: Force Clean Workspace
run: |
sudo chattr -i -R ${{ github.workspace }} 2>/dev/null || true
sudo chown -R $USER:$USER ${{ github.workspace }}
sudo find ${{ github.workspace }} -mindepth 1 -delete

- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Docker meta
id: meta
Expand All @@ -30,6 +37,11 @@ jobs:
type=semver,pattern={{version}},enable=${{ github.ref_type == 'tag' }}
type=raw,value=latest

- name: Fix Docker Directory Permissions
run: |
sudo mkdir -p /home/runner/.docker
sudo chown -R $USER:$USER /home/runner/.docker

- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/doxygen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
if: github.repository_owner == 'deepmodeling'
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6

- name: Install Doxygen
run: sudo apt-get install doxygen graphviz -y
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dynamic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
container: ghcr.io/deepmodeling/abacus-gnu
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Building
run: |
cmake -B build -DENABLE_ASAN=1 -DENABLE_MLALGO=1 -DENABLE_LIBXC=1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
timeout-minutes: 2880
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Requirements
run: |
apt install -y time
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
image: ghcr.io/deepmodeling/abacus-gnu
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
Expand Down
Loading