forked from firemodels/fds
-
Notifications
You must be signed in to change notification settings - Fork 3
129 lines (112 loc) · 4.12 KB
/
linux.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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: github-linux
on:
push:
paths:
- .github/**
- Build/**
- Source/**
pull_request:
paths:
- .github/**
- Build/**
- Source/**
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
permissions:
contents: read
jobs:
linux-intel-intelmpi:
# build on ubuntu using ifort with intelmpi and mkl based on
# https://github.com/oneapi-src/oneapi-ci
name: linux intel intelmpi
runs-on: [ubuntu-latest]
steps:
- uses: actions/checkout@v3
# install oneapi components from apt repository based on
# oneapi-ci/scripts/setup_apt_repo_linux.sh
# oneapi-ci/scripts/apt_depends.sh
# oneapi-ci/scripts/install_linux_apt.sh
- name: setup apt repository
run: |
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update -o Dir::Etc::sourcelist="sources.list.d/oneAPI.list" -o APT::Get::List-Cleanup="0"
- name: collect versioned dependencies of apt packages
run : |
apt-cache depends intel-oneapi-compiler-fortran \
intel-oneapi-mpi-devel \
intel-oneapi-mkl-devel | tee dependencies.txt
- name: cache install oneapi
id: cache-install
uses: actions/cache@v3
with:
path: /opt/intel/oneapi
key: install-${{ hashFiles('**/dependencies.txt') }}
- name: install oneapi compiler, mpi, mkl
if: steps.cache-install.outputs.cache-hit != 'true'
run: |
sudo apt-get install -y intel-oneapi-compiler-fortran \
intel-oneapi-mpi-devel \
intel-oneapi-mkl-devel
sudo apt-get clean
- name: build fds debug
run: |
source /opt/intel/oneapi/setvars.sh
cd ./Build/impi_intel_linux_db
sh ./make_fds.sh
./fds_impi_intel_linux_db
- name: build fds release
run: |
source /opt/intel/oneapi/setvars.sh
cd ./Build/impi_intel_linux
sh ./make_fds.sh
./fds_impi_intel_linux
linux-gnu-openmpi:
# build on ubuntu using gfortran with openmpi and mkl based on
# https://github.com/oneapi-src/oneapi-ci
name: linux gnu openmpi
runs-on: [ubuntu-latest]
steps:
- uses: actions/checkout@v3
- name: install openmpi
run: |
sudo apt-get update
sudo apt-get install libopenmpi-dev openmpi-bin
# install oneapi components from apt repository based on
# oneapi-ci/scripts/setup_apt_repo_linux.sh
# oneapi-ci/scripts/apt_depends.sh
# oneapi-ci/scripts/install_linux_apt.sh
- name: setup apt repository
run: |
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update -o Dir::Etc::sourcelist="sources.list.d/oneAPI.list" -o APT::Get::List-Cleanup="0"
- name: collect versioned dependencies of apt packages
run : |
apt-cache depends intel-oneapi-mkl-devel | tee dependencies.txt
- name: cache install oneapi
id: cache-install
uses: actions/cache@v3
with:
path: /opt/intel/oneapi
key: install-${{ hashFiles('**/dependencies.txt') }}
- name: install oneapi mkl
if: steps.cache-install.outputs.cache-hit != 'true'
run: |
sudo apt-get install -y intel-oneapi-mkl-devel
sudo apt-get clean
- name: build fds debug
run: |
source /opt/intel/oneapi/setvars.sh
cd ./Build/ompi_gnu_linux_db
sh ./make_fds.sh
./fds_ompi_gnu_linux_db
- name: build fds release
run: |
source /opt/intel/oneapi/setvars.sh
cd ./Build/ompi_gnu_linux
sh ./make_fds.sh
./fds_ompi_gnu_linux