-
Notifications
You must be signed in to change notification settings - Fork 177
215 lines (210 loc) · 7.3 KB
/
make-scripts.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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
name: Scripts & Make Build
on: [push, pull_request]
env:
WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/irc_nas/18599/w_BaseKit_p_2022.1.3.210_offline.exe
WINDOWS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/irc_nas/18578/w_HPCKit_p_2022.1.3.145_offline.exe
LINUX_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/irc_nas/18487/l_BaseKit_p_2022.1.2.146_offline.sh
LINUX_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/irc_nas/18479/l_HPCKit_p_2022.1.2.117_offline.sh
MACOS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/irc_nas/18341/m_HPCKit_p_2022.1.0.86_offline.dmg
WINDOWS_CPP_COMPONENTS: intel.oneapi.win.cpp-compiler
WINDOWS_FORTRAN_COMPONENTS: intel.oneapi.win.ifort-compiler
WINDOWS_DPCPP_COMPONENTS: intel.oneapi.win.dpcpp-compiler
LINUX_CPP_COMPONENTS: intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
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-pro
LINUX_FORTRAN_COMPONENTS_WEB: intel.oneapi.lin.ifort-compiler
LINUX_DPCPP_COMPONENTS_WEB: intel.oneapi.lin.dpcpp-cpp-compiler
MACOS_CPP_COMPONENTS: intel.oneapi.mac.cpp-compiler
MACOS_FORTRAN_COMPONENTS: intel.oneapi.mac.ifort-compiler
CACHE_NUMBER: 2
COMPILER_VERSION: 2022.0.3
jobs:
build-macos-intel:
name: intel_osx_${{ matrix.program }}
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
program:
- background
- convert
- env2mod
- flush
- makepo
- mergepo
- smokediff
- smokeview
- smokezip
- timep
- wind2fds
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: prepare for cache restore
run: |
sudo mkdir -p /opt/intel
sudo chown $USER /opt/intel
- name: cache install
id: cache-install
uses: actions/cache@v2
with:
path: /opt/intel/oneapi
key: install2-${{ env.MACOS_HPCKIT_URL }}-${{ env.MACOS_CPP_COMPONENTS }}
- name: install
if: steps.cache-install.outputs.cache-hit != 'true'
run: bash .github/workflows/install_macos_oneapi.sh $MACOS_HPCKIT_URL
- name: build ${{ matrix.program }}
shell: bash
run: |
source /opt/intel/oneapi/setvars.sh
pushd Build/${{ matrix.program }}/intel_osx_64
./make_${{ matrix.program }}.sh
popd
build-linux-intel:
name: intel_linux_${{ matrix.program }}
strategy:
fail-fast: false
matrix:
program:
- background
- convert
- env2mod
- flush
- makepo
- mergepo
- smokediff
- smokeview
- smokezip
- timep
- wind2fds
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: prepare for cache restore
run: |
sudo mkdir -p /opt/intel
sudo chown $USER /opt/intel
- name: cache install
id: cache-install
uses: actions/cache@v2
with:
path: /opt/intel/oneapi
key: install2-${{ env.LINUX_HPCKIT_URL }}-${{ env.LINUX_CPP_COMPONENTS }}
- name: install
if: steps.cache-install.outputs.cache-hit != 'true'
run: bash .github/workflows/install_linux_oneapi.sh $LINUX_HPCKIT_URL
- name: build ${{ matrix.program }}
shell: bash
run: |
source /opt/intel/oneapi/setvars.sh
sudo apt-get update
sudo apt-get install build-essential freeglut3-dev libx11-dev libxmu-dev libxi-dev
pushd Build/${{ matrix.program }}/intel_linux_64
./make_${{ matrix.program }}.sh
popd
build-linux-gnu:
name: gnu_linux_${{ matrix.program }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
program:
- background
- convert
- env2mod
- flush
- makepo
- mergepo
- smokediff
- smokeview
- smokezip
- timep
- wind2fds
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build
shell: bash
run: |
sudo apt-get update
sudo apt-get install build-essential freeglut3-dev libx11-dev libxmu-dev libxi-dev
pushd Build/${{ matrix.program }}/gnu_linux_64 || pushd Build/${{ matrix.program }}/gcc_linux_64
./make_${{ matrix.program }}.sh
popd
build-windows:
name: intel_win_${{ matrix.program }}
strategy:
fail-fast: false
matrix:
program:
- background
- convert
- env2mod
- flush
- getdate
- get_time
- hashfile
- makepo
- mergepo
- set_path
- sh2bat
- smokediff
- smokeview
- smokezip
- timep
- wind2fds
runs-on: windows-2019
defaults:
run:
shell: bash
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: cache install
id: cache-install
uses: actions/cache@v2
with:
path: |
C:\Program Files (x86)\Intel\oneAPI\setvars.bat
C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat
C:\Program Files (x86)\Intel\oneAPI\compiler
key: install-${{ env.CACHE_NUMBER }}-${{ env.WINDOWS_HPCKIT_URL }}-${{ env.WINDOWS_CPP_COMPONENTS }}-compiler-${{ hashFiles('**/scripts/cache_exclude_windows.sh') }}
- name: install
if: steps.cache-install.outputs.cache-hit != 'true'
run: .github/workflows/install_windows_oneapi.bat $WINDOWS_HPCKIT_URL $WINDOWS_CPP_COMPONENTS
- name: Make latest link
shell: cmd
run: |
rmdir "C:\Program Files (x86)\Intel\oneAPI\compiler\latest"
mklink /D "C:\Program Files (x86)\Intel\oneAPI\compiler\latest" "C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.3"
- name: build libs
if: matrix.program == 'smokezip' || matrix.program == 'smokeview'
shell: cmd
run: |
call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
pushd Build\LIBS\intel_win_64
call make_LIBS.bat bot
dir
popd
- name: build ${{ matrix.program }}
shell: cmd
run: |
call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"
"C:\Program Files (x86)\Intel\oneAPI\compiler\latest\windows\bin\icx.exe" -V
where icx
icx -V
set PATH
dir "C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.3"
dir "C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.3"
dir "C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.3\windows"
dir "C:\Program Files (x86)\Intel\oneAPI\compiler\2022.0.3\windows\bin"
pushd Build\${{ matrix.program }}\intel_win_64
call make_${{ matrix.program }}.bat
popd
- name: exclude unused files from cache
if: steps.cache-install.outputs.cache-hit != 'true'
shell: bash
run: .github/workflows/cache_exclude_windows.sh