Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion .github/workflows/ase_plugin_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ name: Atomic Simulation Environment (ASE) Plugin Test
on:
pull_request:

defaults:
run:
shell: bash

jobs:
test:
name: abacuslite
Expand Down Expand Up @@ -33,15 +37,24 @@ jobs:
cd interfaces/ASE_interface
pip install .

- name: Install external tools from toolchain
run: |
sudo apt update && sudo apt install -y xz-utils ninja-build
cd toolchain
./install_abacus_toolchain_new.sh --with-dftd4=install --dry-run -j8
./scripts/stage4/install_stage4.sh
cd ..
Comment thread
Growl1234 marked this conversation as resolved.

- name: Configure & Build ABACUS (GNU)
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}
source toolchain/install/setup
rm -rf build
cmake -B build
cmake -B build -G Ninja
cmake --build build -j2

- name: Install and Soft Link ABACUS
Expand Down
39 changes: 30 additions & 9 deletions .github/workflows/build_test_cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ on:
push:
pull_request:

defaults:
run:
shell: bash

jobs:
test:
runs-on: ubuntu-latest
Expand All @@ -13,30 +17,38 @@ jobs:
build_args: ""
name: "Build with GNU toolchain"
- tag: intel
external_toolchain_args: "--with-intel"
build_args: ""
name: "Build with Intel toolchain"

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

- tag: cuda
build_args: "-DUSE_CUDA=1"
external_toolchain_args: ""
build_args: "-DUSE_CUDA=ON"
name: "Build with CUDA support"
- tag: gnu
build_args: "-DENABLE_LCAO=0"
external_toolchain_args: ""
build_args: "-DENABLE_LCAO=OFF"
name: "Build without LCAO"
- tag: gnu
build_args: "-DUSE_ELPA=0 "
external_toolchain_args: ""
build_args: "-DUSE_ELPA=OFF "
name: "Build without ELPA"
- tag: gnu
build_args: "-DENABLE_MPI=0"
external_toolchain_args: ""
build_args: "-DENABLE_MPI=OFF"
name: "Build without MPI"
- tag: gnu
build_args: "-DENABLE_MPI=0 -DENABLE_LCAO=0"
external_toolchain_args: ""
build_args: "-DENABLE_MPI=OFF -DENABLE_LCAO=OFF"
name: "Build without LCAO and MPI"

name: ${{ matrix.name }}
Expand All @@ -47,13 +59,22 @@ jobs:
with:
submodules: recursive

- name: Install external tools from toolchain
run: |
sudo apt update && sudo apt install -y gfortran ninja-build xz-utils
cd toolchain
./install_abacus_toolchain_new.sh --with-dftd4=install --dry-run ${{matrix.external_toolchain_args}}
./scripts/stage4/install_stage4.sh
cd ..
Comment thread
Growl1234 marked this conversation as resolved.

- 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}
source toolchain/install/setup
rm -rf build
cmake -B build ${{ matrix.build_args }}
cmake --build build -j2
cmake -B build -G Ninja ${{ matrix.build_args }}
cmake --build build -j $(nproc)
4 changes: 4 additions & 0 deletions .github/workflows/build_test_makefile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ on:
push:
pull_request:

defaults:
run:
shell: bash

jobs:
test:
runs-on: ubuntu-latest
Expand Down
32 changes: 28 additions & 4 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ on:
push:
tags:
- 'v*'

defaults:
run:
shell: bash

jobs:
test-coverage:
name: Generate Coverage Report
Expand All @@ -18,20 +23,39 @@ jobs:

- 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
sudo apt update
sudo apt install -y \
curl \
jq \
ca-certificates \
python3-pip \
xz-utils \
ninja-build \
lcov \
perl-modules \
libcapture-tiny-perl \
libdatetime-perl \
libjson-perl \
libperlio-gzip-perl
lcov --version

- name: Install external tools from toolchain
run: |
cd toolchain
./install_abacus_toolchain_new.sh --with-dftd4=install --dry-run -j8
./scripts/stage4/install_stage4.sh
cd ..

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

mkdir -p build
chmod -R 755 build/

cmake -B build \
cmake -B build -G Ninja \
-DENABLE_COVERAGE=ON \
-DBUILD_TESTING=ON \
-DENABLE_MLALGO=ON \
Expand Down
16 changes: 14 additions & 2 deletions .github/workflows/cuda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ on:
workflow_dispatch:
pull_request:

defaults:
run:
shell: bash

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
Expand All @@ -28,13 +32,21 @@ jobs:
- name: Install Ccache
run: |
sudo apt-get update
sudo apt-get install -y ccache
sudo apt-get install -y ccache xz-utils ninja-build

- name: Install external tools from toolchain
run: |
cd toolchain
./install_abacus_toolchain_new.sh --with-dftd4=install --dry-run -j8
./scripts/stage4/install_stage4.sh
cd ..

- name: Configure & Build
run: |
nvidia-smi
source toolchain/install/setup
rm -rf build
cmake -B build -DUSE_CUDA=ON -DBUILD_TESTING=ON
cmake -B build -G Ninja -DUSE_CUDA=ON -DBUILD_TESTING=ON
cmake --build build -j4
cmake --install build

Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/devcontainer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ on:
- 'v*'
workflow_dispatch:

defaults:
run:
shell: bash

jobs:
build_container_and_push:
runs-on: X64
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/doxygen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ on:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

defaults:
run:
shell: bash

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
Expand Down
14 changes: 13 additions & 1 deletion .github/workflows/dynamic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ on:
- cron: '0 16 * * 0'
workflow_dispatch:

defaults:
run:
shell: bash

jobs:
test:
name: Dynamic analysis
Expand All @@ -14,9 +18,17 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Install external tools from toolchain
run: |
sudo apt update && sudo apt install -y xz-utils ninja-build
cd toolchain
./install_abacus_toolchain_new.sh --with-dftd4=install --dry-run -j8
./scripts/stage4/install_stage4.sh
cd ..
Comment thread
Growl1234 marked this conversation as resolved.
- name: Building
run: |
cmake -B build -DENABLE_ASAN=1 -DENABLE_MLALGO=1 -DENABLE_LIBXC=1
source toolchain/install/setup
cmake -B build -G Ninja -DENABLE_ASAN=ON -DENABLE_MLALGO=ON -DENABLE_LIBXC=ON
cmake --build build -j8
cmake --install build
- name: Testing
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/interface.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ name: interface
on:
workflow_dispatch:

defaults:
run:
shell: bash

jobs:
wannier-interface:
name: "wannier interface — ${{ matrix.name }}"
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/mirror_gitee.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ name: Mirror to Gitee Repository

on: [ push, delete, create ]

defaults:
run:
shell: bash

# Ensures that only one mirror task will run at a time.
concurrency:
group: git-mirror
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ name: Performance test
on:
workflow_dispatch:

defaults:
run:
shell: bash

jobs:
test:
name: Performance test
Expand All @@ -17,7 +21,7 @@ jobs:
uses: actions/checkout@v7
- name: Install Requirements
run: |
apt install -y time
sudo apt install -y time
- name: Test
run: |
. /opt/intel/oneapi/setvars.sh || :
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ name: Pyabacus Build and Test
on:
pull_request:

defaults:
run:
shell: bash

jobs:
test:
name: PyTest
Expand Down
25 changes: 21 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,20 +36,37 @@ jobs:
- name: Install CI tools
run: |
sudo apt-get update
sudo apt-get install -y gfortran ccache ca-certificates python-is-python3 python3-pip
sudo apt-get install -y \
gfortran \
ccache \
ca-certificates \
python-is-python3 \
python3-pip \
ninja-build \
xz-utils
sudo pip install clang-format clang-tidy

- name: Install dftd4 from toolchain
- name: Install external tools from toolchain
run: |
cd toolchain
./install_abacus_toolchain_new.sh --with-dftd4=install --dry-run -j8
./scripts/stage4/install_dftd4.sh
./scripts/stage4/install_stage4.sh
cd ..

- name: Configure
run: |
source toolchain/install/setup
cmake -B build -DBUILD_TESTING=ON -DENABLE_MLALGO=ON -DENABLE_LIBXC=ON -DENABLE_LIBRI=ON -DENABLE_GOOGLEBENCH=ON -DENABLE_RAPIDJSON=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DENABLE_FLOAT_FFTW=ON -DENABLE_DFTD4=ON
cmake -B build -G Ninja \
-DBUILD_TESTING=ON \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DENABLE_MLALGO=ON \
-DENABLE_LIBXC=ON \
-DENABLE_LIBRI=ON \
-DENABLE_GOOGLEBENCH=ON \
-DENABLE_RAPIDJSON=ON \
-DENABLE_FLOAT_FFTW=ON \
-DENABLE_DFTD4=ON \
-Werror=dev

# Temporarily removed because no one maintains this now.
# And it will break the CI test workflow.
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/toolchain_full.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ on:
description: "Comma-separated variants: gnu,intel,cuda"
required: false
default: "gnu,intel,cuda"

defaults:
run:
shell: bash

jobs:
full-build-gnu:
if: contains(inputs.variants || 'gnu,intel,cuda', 'gnu')
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/toolchain_quick.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ on:
- toolchain/**
- .github/workflows/toolchain_quick.yaml
workflow_dispatch:

defaults:
run:
shell: bash

jobs:
lint-and-sanity:
runs-on: ubuntu-latest
Expand Down
Loading
Loading