1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-11-03 20:54:09 +01:00
qmckl/.github/workflows/test-build.yml

195 lines
4.5 KiB
YAML
Raw Normal View History

name: test-build
on:
push:
pull_request:
2022-11-16 22:43:26 +01:00
permissions:
contents: read
jobs:
2022-11-16 22:21:25 +01:00
standard:
2020-10-17 01:28:15 +02:00
runs-on: ubuntu-latest
2022-11-16 22:24:18 +01:00
name: Standard
2020-10-17 01:28:15 +02:00
steps:
2022-11-16 22:55:42 +01:00
- uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791
2021-10-14 21:40:14 +02:00
2021-10-12 11:25:05 +02:00
- name: Install dependencies
2021-10-12 00:17:14 +02:00
run: sudo apt-get install emacs autoconf libhdf5-dev
2021-10-14 21:40:14 +02:00
- name: Install the latest TREXIO from the GitHub clone
2021-10-12 00:15:38 +02:00
run: |
git clone https://github.com/TREX-CoE/trexio.git
cd trexio
./autogen.sh
2021-10-12 11:25:05 +02:00
./configure --prefix=/usr
make -j 4
2021-10-14 11:08:30 +02:00
sudo make install
2021-10-14 21:40:14 +02:00
- name: Build QMCkl
2021-05-12 13:36:25 +02:00
run: |
2021-05-12 13:33:14 +02:00
./autogen.sh
mkdir _build
cd _build
2023-01-25 11:54:38 +01:00
../configure --enable-silent-rules --enable-python
make -j 4
2022-05-04 15:51:40 +02:00
sudo make install
2021-10-14 21:40:14 +02:00
2021-10-12 11:25:05 +02:00
- name: Run test
run: make -j 4 check
working-directory: _build
2021-10-14 21:40:14 +02:00
2021-07-07 19:09:03 +02:00
- name: Archive test log file
2021-10-12 11:48:48 +02:00
if: failure()
2022-11-16 22:55:42 +01:00
uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2
2021-07-07 19:09:03 +02:00
with:
name: test-report-ubuntu
2021-07-07 19:09:03 +02:00
path: test-suite.log
2021-10-14 21:40:14 +02:00
2021-10-12 11:25:05 +02:00
- name: Dist test
run: make distcheck
working-directory: _build
2021-10-14 21:40:14 +02:00
2022-05-04 15:14:16 +02:00
- name: Setup the virtual environment
run: |
python3 -m venv --clear pyqmckl
source pyqmckl/bin/activate
- name: Install the Python requirements
run: pip install -r requirements.txt
working-directory: python
- name: Install the Python API
run: make python-install
2022-05-04 15:29:35 +02:00
working-directory: _build
2022-05-04 15:14:16 +02:00
- name: Test the Python API
run: make python-test
2022-05-04 15:29:35 +02:00
working-directory: _build
2022-05-04 15:14:16 +02:00
2022-11-16 22:21:25 +01:00
debug:
runs-on: ubuntu-latest
2022-11-16 22:24:18 +01:00
name: Debug
2022-11-16 22:21:25 +01:00
steps:
2022-11-16 22:55:42 +01:00
- uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791
2022-11-16 22:21:25 +01:00
- name: Install dependencies
run: sudo apt-get install emacs autoconf libhdf5-dev
- name: Install the latest TREXIO from the GitHub clone
run: |
git clone https://github.com/TREX-CoE/trexio.git
cd trexio
./autogen.sh
./configure --prefix=/usr
make -j 4
sudo make install
- name: Build QMCkl in debug mode
run: |
2022-11-16 22:24:18 +01:00
./autogen.sh
2022-07-11 10:38:39 +02:00
mkdir _build_debug
cd _build_debug
../configure --enable-debug --enable-silent-rules
make -j2
- name: Run test
run: make -j2 check
2022-07-11 10:38:39 +02:00
working-directory: _build_debug
- name: Archive test log file
if: failure()
2022-11-16 22:55:42 +01:00
uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2
with:
2022-07-11 10:38:39 +02:00
name: test-report-ubuntu-debug
path: _build_debug/test-suite.log
2022-11-16 22:21:25 +01:00
hpc:
runs-on: ubuntu-latest
2022-11-16 22:24:18 +01:00
name: HPC
2022-11-16 22:21:25 +01:00
steps:
2022-11-16 22:55:42 +01:00
- uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791
2022-11-16 22:21:25 +01:00
- name: Install dependencies
run: sudo apt-get install emacs autoconf libhdf5-dev
- name: Install the latest TREXIO from the GitHub clone
run: |
git clone https://github.com/TREX-CoE/trexio.git
cd trexio
./autogen.sh
./configure --prefix=/usr
make -j 4
sudo make install
- name: Compile QMCkl in HPC mode
run: |
2022-11-16 22:24:18 +01:00
./autogen.sh
2022-11-16 22:21:25 +01:00
mkdir _build_hpc
cd _build_hpc
../configure --enable-hpc
make -j2
- name: Run test
run: make -j2 check
working-directory: _build_hpc
- name: Archive test log file
if: failure()
2022-11-16 22:55:42 +01:00
uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2
2022-11-16 22:21:25 +01:00
with:
name: test-report-ubuntu-debug
path: _build_hpc/test-suite.log
2023-09-12 11:12:55 +02:00
macos:
runs-on: macos-12
name: x86 MacOS 12
steps:
- uses: actions/checkout@e2f20e631ae6d7dd3b768f56a5d2af784dd54791
- name: Install dependencies
run: |
brew install emacs
brew install automake
brew install hdf5
2023-09-12 11:25:53 +02:00
brew install gcc
brew install gfortran
2023-09-12 11:12:55 +02:00
brew --prefix hdf5
- name: Install the latest TREXIO from the GitHub clone
run: |
git clone https://github.com/TREX-CoE/trexio.git
cd trexio
./autogen.sh
2023-09-12 11:28:14 +02:00
./configure FC=gfortran-12 --enable-silent-rules
2023-09-12 11:12:55 +02:00
make -j 4
sudo make install
- name: Compile QMCkl in HPC mode
run: |
./autogen.sh
mkdir _build_hpc
cd _build_hpc
2023-09-12 11:25:53 +02:00
../configure --enable-hpc FC=gfortran-12 CC=gcc-12
2023-09-12 11:12:55 +02:00
make -j2
- name: Run test
run: make -j2 check
working-directory: _build_hpc
- name: Archive test log file
if: failure()
uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2
with:
name: test-report-macos-x86
path: _build_hpc/test-suite.log