-
Notifications
You must be signed in to change notification settings - Fork 6
63 lines (50 loc) · 1.88 KB
/
turborvb-linter-build-test-inteloneapi-legacy.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# This workflow will build and test TurboRVB.
name: TurboRVB linter-check, build, and test (Intel-oneapi, legacy)
on:
push:
branches: [ "main", "devel" ]
pull_request:
branches: [ "main", "devel" ]
jobs:
intel-oneapi-legacy-test:
runs-on: ubuntu-latest
env:
CC: icx
CXX: icpx
FC: ifort
steps:
- name: Intel Apt repository
timeout-minutes: 1
run: |
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
- name: Install Intel oneAPI
timeout-minutes: 5
run: sudo apt-get install intel-oneapi-compiler-fortran intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-mpi intel-oneapi-mpi-devel intel-oneapi-mkl ninja-build
- name: Install CMake
run: sudo apt-get install cmake
- name: Install and Setup Python
uses: actions/setup-python@v3
with:
python-version: 3.8
- name: Install python dependencies
run: pip install numpy scipy pandas
- name: Checkout the project repository
uses: actions/checkout@v2
- name: Setup Intel oneAPI environment
run: |
source /opt/intel/oneapi/setvars.sh
printenv >> $GITHUB_ENV
- name: Lint TurboRVB with devel_tools/run_linter.py
run: |
python ./devel_tools/run_linter.py .
- name: Build TurboRVB with cmake serial and parallel versions
run: |
cmake -S. -Bbuild -DEXT_PARALLEL=ON -DCMAKE_C_COMPILER=icc -DCMAKE_Fortran_COMPILER=ifort
cmake --build build -j 2
- name: Test TurboRVB with ctest both serial and parallel versions
run: |
ctest --test-dir build --output-on-failure -j 2