WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

CI

CI #2026

Workflow file for this run

name: CI
on:
push:
branches: [master, dev]
pull_request:
schedule:
- cron: '0 2 * * *'
env:
LINUX_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/dfc4a434-838c-4450-a6fe-2fa903b75aa7/intel-oneapi-base-toolkit-2025.0.1.46_offline.sh
LINUX_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/b7f71cf2-8157-4393-abae-8cea815509f7/intel-oneapi-hpc-toolkit-2025.0.1.47_offline.sh
LINUX_AIKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/491d5c2a-67fe-48d0-884f-6aecd88f5d8a/ai-tools-2025.0.0.75_offline.sh
LINUX_CPP_COMPONENTS: intel-oneapi-dpcpp-cpp-compiler
LINUX_FORTRAN_COMPONENTS: intel-oneapi-compiler-fortran
LINUX_DPCPP_COMPONENTS: intel-oneapi-compiler-dpcpp-cpp
LINUX_CPP_COMPONENTS_WEB: intel.oneapi.lin.dpcpp-cpp-compiler
LINUX_FORTRAN_COMPONENTS_WEB: intel.oneapi.lin.ifort-compiler
LINUX_DPCPP_COMPONENTS_WEB: intel.oneapi.lin.dpcpp-cpp-compiler
LINUX_MKL_COMPONENTS_WEB: intel.oneapi.lin.mkl.devel
CACHE_NUMBER: 5
SAMPLES_TAG: 2025.0.0
AI_SAMPLES_TAG: 2025.0.0
COMPILER_VERSION: 2025.0.4
TBB_VERSION: 2022.0.0
VS_VER: vs2022
jobs:
full_gnu:
name: python ${{ matrix.python-version }} on ${{ matrix.os }} with GNU compilers + OpenBLAS
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- {python-version: "3.10", os: ubuntu-latest, documentation: True}
- {python-version: "3.11", os: ubuntu-latest, documentation: False}
- {python-version: "3.12", os: ubuntu-latest, documentation: False}
- {python-version: "3.13", os: ubuntu-latest, documentation: False}
env:
CMAKE_POLICY_VERSION_MINIMUM: 3.5
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install OpenBLAS
run: |
sudo apt-get update
sudo apt-get install -y libopenblas-dev cmake
- name: Upgrade pip
run: |
python -m pip install --upgrade pip
cmake --version
- name: Install Vayesta along with dependencies
run: |
python -m pip install wheel --user
python -m pip install setuptools --upgrade --user
python -m pip install https://github.com/BoothGroup/dyson/archive/master.zip
python -m pip install .[dmet,ebcc] --user
python -c 'import numpy as np; np.__config__.show()'
- name: Run unit tests
run: |
python -m pip install pytest pytest-cov --user
python .github/workflows/run_tests.py
- name: Upload to codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
- name: Build docs
run: |
python -m pip install sphinx!=5.1.0 sphinx_rtd_theme
cd docs
bash make_apidoc.sh
make html
cd ..
if: ${{ matrix.documentation }}
- name: Deploy docs
uses: peaceiris/actions-gh-pages@v3
with:
publish_branch: gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/build/html
force_orphan: true
if: ${{ matrix.documentation && github.ref == 'refs/heads/master' && github.event_name != 'schedule' }}
full_intel:
name: python ${{ matrix.python-version }} on ${{ matrix.os }} with Intel oneAPI
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- {python-version: "3.11", os: ubuntu-latest, documentation: False}
- {python-version: "3.13", os: ubuntu-latest, documentation: False}
env:
# Manually set CPATH because MKL cmake support is broken
CPATH: /opt/intel/oneapi/mkl/latest/include
CC: icx
CXX: icpx
FC: ifx
# fortran needs this because libimf does not have RPATH to find libintlc.so
LD_LIBRARY_PATH: /opt/intel/oneapi/compiler/latest/linux/compiler/lib/intel64_lin
CMAKE_POLICY_VERSION_MINIMUM: 3.5
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Upgrade pip
run: |
python -m pip install --upgrade pip
- name: Install Intel oneAPI
run: |
bash .github/workflows/install_intel.sh $LINUX_HPCKIT_URL $LINUX_CPP_COMPONENTS_WEB:$LINUX_FORTRAN_COMPONENTS_WEB:$LINUX_MKL_COMPONENTS_WEB
- name: Install Vayesta along with dependencies
run: |
source /opt/intel/oneapi/setvars.sh
icx -v
ifx -v
icpx -v
printenv >> $GITHUB_ENV
python -m pip install -i https://software.repos.intel.com/python/pypi numpy scipy
python -m pip install wheel --user
python -m pip install setuptools --upgrade --user
python -m pip install https://github.com/BoothGroup/dyson/archive/master.zip
python -m pip install .[dmet,ebcc] --user
python -c 'import numpy as np; np.__config__.show()'
- name: Run unit tests
run: |
python -m pip install pytest pytest-cov --user
python .github/workflows/run_tests.py
- name: Upload to codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
- name: Build docs
run: |
python -m pip install sphinx!=5.1.0 sphinx_rtd_theme
cd docs
bash make_apidoc.sh
make html
cd ..
if: ${{ matrix.documentation }}
- name: Deploy docs
uses: peaceiris/actions-gh-pages@v3
with:
publish_branch: gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/build/html
force_orphan: true
if: ${{ matrix.documentation && github.ref == 'refs/heads/master' && github.event_name != 'schedule' }}
bare:
name: python 3.9 on ubuntu-latest with no optional dependencies
runs-on: ubuntu-latest
strategy:
fail-fast: false
env:
CMAKE_POLICY_VERSION_MINIMUM: 3.5
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.9
uses: actions/setup-python@v4
with:
python-version: 3.9
cache: 'pip'
- name: Install OpenBLAS
run: |
sudo apt-get update
sudo apt-get install -y libopenblas-dev
- name: Upgrade pip
run: |
python -m pip install --upgrade pip
- name: Install Vayesta
run: |
python -m pip install wheel --user
python -m pip install setuptools --upgrade --user
python -m pip install . --user
- name: Run unit tests
run: |
python -m pip install pytest pytest-cov --user
python .github/workflows/run_tests.py