66
77jobs :
88 buildTest :
9- runs-on : ubuntu-latest
9+ runs-on : ubuntu-22.04
1010
1111 defaults :
1212 run :
@@ -32,212 +32,94 @@ jobs:
3232 - name : Install NetCDF-Fortran
3333 run : sudo apt-get install libnetcdff-dev
3434
35- # Build Kokkos
35+ - uses : actions/checkout@v4
3636
37- - name : Cache Kokkos Build
38- uses : actions/cache@v3
39- id : build-kokkos
37+ - name : build kokkos
38+ uses : ./.github/actions/install-repo
4039 with :
41- key : build-kokkos
42- path : ${{ runner.temp }}/build-kokkos
43-
44- - name : Kokkos Checkout repo
45- if : ${{ steps.build-kokkos.outputs.cache-hit != 'true' }}
46- uses : actions/checkout@v3
40+ repo-name : ' kokkos'
41+ repo-path : ' kokkos/kokkos'
42+ repo-ref : ' 4.5.00'
43+ cache : true
44+ options : ' -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
45+ -DKokkos_ENABLE_SERIAL=ON
46+ -DKokkos_ENABLE_OPENMP=off
47+ -DKokkos_ENABLE_CUDA=off
48+ -DKokkos_ENABLE_CUDA_LAMBDA=off'
49+
50+ - name : build omega_h
51+ uses : ./.github/actions/install-repo
4752 with :
48- repository : kokkos/kokkos
49- ref : 4.1.00
50- path : kokkos
51-
52- - name : Kokkos Create Directory
53- if : ${{ steps.build-kokkos.outputs.cache-hit != 'true' }}
54- run : cmake -E make_directory ${{ runner.temp }}/build-kokkos
55-
56- - name : Kokkos Configure CMake
57- if : ${{ steps.build-kokkos.outputs.cache-hit != 'true' }}
58- run : cmake -S $GITHUB_WORKSPACE/kokkos -B ${{ runner.temp }}/build-kokkos
59- -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-kokkos/install
60- -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
61- -DKokkos_ENABLE_SERIAL=ON
62- -DKokkos_ENABLE_OPENMP=off
63- -DKokkos_ENABLE_CUDA=off
64- -DKokkos_ENABLE_CUDA_LAMBDA=off
65- -DKokkos_ENABLE_DEBUG=on
66-
67- - name : Kokkos Build
68- if : ${{ steps.build-kokkos.outputs.cache-hit != 'true' }}
69- run : cmake --build ${{ runner.temp }}/build-kokkos -j8 --target install
70-
71- # Build EnGPar
72-
73- - name : Cache Engpar Build
74- uses : actions/cache@v3
75- id : build-engpar
76- with :
77- key : build-engpar
78- path : ${{ runner.temp }}/build-engpar
79-
80- - name : EnGPar Checkout repo
81- if : ${{ steps.build-engpar.outputs.cache-hit != 'true' }}
82- uses : actions/checkout@v3
83- with :
84- repository : SCOREC/EnGPar
85- path : engpar
86-
87- - name : EnGPar Create Directory
88- if : ${{ steps.build-engpar.outputs.cache-hit != 'true' }}
89- run : cmake -E make_directory ${{ runner.temp }}/build-engpar
90-
91- - name : EnGPar Configure CMake
92- if : ${{ steps.build-engpar.outputs.cache-hit != 'true' }}
93- run : cmake -S $GITHUB_WORKSPACE/engpar -B ${{ runner.temp }}/build-engpar
94- -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-engpar/install
95- -DCMAKE_C_COMPILER="mpicc"
96- -DCMAKE_CXX_COMPILER="mpicxx"
97- -DCMAKE_CXX_FLAGS="-std=c++11"
98- -DENABLE_PARMETIS=OFF
99- -DENABLE_PUMI=OFF
100- -DIS_TESTING=OFF
101-
102- - name : EnGPar Build
103- if : ${{ steps.build-engpar.outputs.cache-hit != 'true' }}
104- run : cmake --build ${{ runner.temp }}/build-engpar -j8 --target install
105-
106- # Build Omega_h
107-
108- - name : Cache Omega_h Build
109- uses : actions/cache@v3
110- id : build-omega_h
111- with :
112- key : build-omega_h
113- path : ${{ runner.temp }}/build-omega_h
114-
115- - name : Omega_h Checkout repo
116- if : ${{ steps.build-omega_h.outputs.cache-hit != 'true' }}
117- uses : actions/checkout@v3
53+ repo-name : ' omega_h'
54+ repo-path : ' SCOREC/omega_h'
55+ repo-ref : ' '
56+ cache : true
57+ options : ' -DCMAKE_BUILD_TYPE=Release
58+ -DBUILD_SHARED_LIBS=OFF
59+ -DOmega_h_USE_Kokkos=ON
60+ -DOmega_h_USE_CUDA=off
61+ -DOmega_h_USE_MPI=on
62+ -DBUILD_TESTING=off
63+ -DCMAKE_C_COMPILER=mpicc
64+ -DCMAKE_CXX_COMPILER=mpicxx
65+ -DKokkos_PREFIX=${{ runner.temp }}/build-kokkos/install/lib/cmake'
66+
67+ - name : build Engpar
68+ uses : ./.github/actions/install-repo
11869 with :
119- repository : SCOREC/omega_h
120- ref : scorec-v10.8.0
121- path : omega_h
122-
123- - name : Omega_h Create Directory
124- if : ${{ steps.build-omega_h.outputs.cache-hit != 'true' }}
125- run : cmake -E make_directory ${{ runner.temp }}/build-omega_h
126-
127- - name : Omega_h Configure CMake
128- if : ${{ steps.build-omega_h.outputs.cache-hit != 'true' }}
129- run : cmake -S $GITHUB_WORKSPACE/omega_h -B ${{ runner.temp }}/build-omega_h
130- -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-omega_h/install
131- -DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake
132- -DBUILD_SHARED_LIBS=OFF
133- -DOmega_h_USE_Kokkos=ON
134- -DOmega_h_USE_CUDA=off
135- -DOmega_h_USE_MPI=on
136- -DCMAKE_BUILD_TYPE=Release
137- -DBUILD_TESTING=on
138- -DCMAKE_CXX_COMPILER="mpicxx"
139- -DCMAKE_C_COMPILER="mpicc"
140-
141- - name : Omega_h Build
142- if : ${{ steps.build-omega_h.outputs.cache-hit != 'true' }}
143- run : cmake --build ${{ runner.temp }}/build-omega_h -j8 --target install
144-
145- # Build Cabana
146-
147- - name : Cache Cabana Build
148- uses : actions/cache@v3
149- id : build-cabana
70+ repo-name : ' Engpar'
71+ repo-path : ' SCOREC/EnGPar'
72+ repo-ref : ' '
73+ cache : true
74+ options : ' -DCMAKE_C_COMPILER=mpicc
75+ -DCMAKE_CXX_COMPILER=mpicxx
76+ -DCMAKE_CXX_FLAGS="-std=c++11"
77+ -DENABLE_PARMETIS=OFF
78+ -DENABLE_PUMI=OFF
79+ -DIS_TESTING=OFF'
80+
81+ - name : build cabana
82+ uses : ./.github/actions/install-repo
15083 with :
151- key : build-cabana
152- path : ${{ runner.temp }}/build-cabana
153-
154- - name : Cabana Checkout repo
155- if : ${{ steps.build-cabana.outputs.cache-hit != 'true' }}
156- uses : actions/checkout@v3
84+ repo-name : ' cabana'
85+ repo-path : ' ECP-copa/cabana'
86+ repo-ref : ' 0.6.1'
87+ cache : true
88+ options : ' -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
89+ -DCMAKE_BUILD_TYPE=Release
90+ -DCMAKE_DISABLE_FIND_PACKAGE_HDF5=ON
91+ -DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake'
92+
93+ - name : build pumi-pic
94+ uses : ./.github/actions/install-repo
15795 with :
158- repository : ECP-copa/cabana
159- ref : 0.6.1
160- path : cabana
161-
162- - name : Cabana Create Directory
163- if : ${{ steps.build-cabana.outputs.cache-hit != 'true' }}
164- run : cmake -E make_directory ${{ runner.temp }}/build-cabana
165-
166- - name : Cabana Configure CMake
167- if : ${{ steps.build-cabana.outputs.cache-hit != 'true' }}
168- run : cmake -S $GITHUB_WORKSPACE/cabana -B ${{ runner.temp }}/build-cabana
169- -DCMAKE_BUILD_TYPE="Release"
170- -DCMAKE_DISABLE_FIND_PACKAGE_HDF5=ON
171- -DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
172- -DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake
173- -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-cabana/install
174-
175- - name : Cabana Build
176- if : ${{ steps.build-cabana.outputs.cache-hit != 'true' }}
177- run : cmake --build ${{ runner.temp }}/build-cabana -j8 --target install
178-
179- # Build PUMI-PIC
180-
181- - name : Cache PUMI-PIC Build
182- uses : actions/cache@v3
183- id : build-pumi-pic
184- with :
185- key : build-pumi-pic
186- path : ${{ runner.temp }}/build-pumi-pic
187-
188- - name : PUMI-PIC Checkout repo
189- if : ${{ steps.build-pumi-pic.outputs.cache-hit != 'true' }}
190- uses : actions/checkout@v3
191- with :
192- submodules : recursive
193- repository : SCOREC/pumi-pic
194- ref : 2.0.3
195- path : pumi-pic
196-
197- - name : PUMI-PIC Create Directory
198- if : ${{ steps.build-pumi-pic.outputs.cache-hit != 'true' }}
199- run : cmake -E make_directory ${{ runner.temp }}/build-pumi-pic
200-
201- - name : PUMI-PIC Configure CMake
202- if : ${{ steps.build-pumi-pic.outputs.cache-hit != 'true' }}
203- run : cmake -S $GITHUB_WORKSPACE/pumi-pic -B ${{ runner.temp }}/build-pumi-pic
204- -DCMAKE_CXX_COMPILER=mpicxx
205- -DIS_TESTING=ON
206- -DPS_IS_TESTING=ON
207- -DCMAKE_BUILD_TYPE="Release"
208- -DTEST_DATA_DIR=$GITHUB_WORKSPACE/pumi-pic/pumipic-data
209- -DOmega_h_PREFIX=${{ runner.temp }}/build-omega_h/install
210- -DKokkos_PREFIX=${{ runner.temp }}/build-kokkos/install
211- -DEnGPar_PREFIX=${{ runner.temp }}/build-engpar/install
212- -DCabana_PREFIX=${{ runner.temp }}/build-cabana/install
213- -DENABLE_CABANA=on
214- -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-pumi-pic/install
215- -DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake
216-
217- - name : PUMI-PIC Build
218- if : ${{ steps.build-pumi-pic.outputs.cache-hit != 'true' }}
219- run : cmake --build ${{ runner.temp }}/build-pumi-pic -j8 --target install
220-
221- # Build PolyMPO
222-
223- - name : PolyMPO Checkout repo
224- uses : actions/checkout@v3
96+ repo-name : ' pumi-pic'
97+ repo-path : ' SCOREC/pumi-pic'
98+ submodules : ' recursive'
99+ repo-ref : ' '
100+ cache : true
101+ options : ' -DCMAKE_CXX_COMPILER=mpicxx
102+ -DTEST_DATA_DIR=$GITHUB_WORKSPACE/pumi-pic/pumipic-data
103+ -DOmega_h_PREFIX=${{ runner.temp }}/build-omega_h/install
104+ -DKokkos_PREFIX=${{ runner.temp }}/build-kokkos/install
105+ -DEnGPar_PREFIX=${{ runner.temp }}/build-Engpar/install
106+ -DCabana_PREFIX=${{ runner.temp }}/build-cabana/install
107+ -DENABLE_CABANA=on
108+ -DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-kokkos/install/lib/cmake'
109+
110+ - name : build polyMPO
111+ uses : ./.github/actions/install-repo
225112 with :
226- submodules : recursive
227- repository : SCOREC/polyMPO
228- path : polyMPO
229-
230- - name : PolyMPO Create Directory
231- run : cmake -E make_directory ${{ runner.temp }}/build-polyMPO
232-
233- - name : PolyMPO Configure CMake
234- run : cmake -S $GITHUB_WORKSPACE/polyMPO -B ${{ runner.temp }}/build-polyMPO
235- -DCMAKE_BUILD_TYPE="Debug"
236- -DKokkos_DIR=${{ runner.temp }}/build-kokkos/install/lib64/cmake/Kokkos
237- -DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-pumi-pic/install
238- -DIS_TESTING=on
239- -DCMAKE_CXX_COMPILER=mpicxx
240- -DCMAKE_INSTALL_PREFIX=${{ runner.temp }}/build-polyMPO/install
113+ repo-name : ' polyMPO'
114+ repo-path : ' SCOREC/polyMPO'
115+ submodules : ' recursive'
116+ repo-ref : ' '
117+ cache : false
118+ options : ' -DCMAKE_BUILD_TYPE="Debug"
119+ -DKokkos_DIR=${{ runner.temp }}/build-kokkos/install/lib64/cmake/Kokkos
120+ -DCMAKE_PREFIX_PATH=${{ runner.temp }}/build-pumi-pic/install
121+ -DIS_TESTING=on
122+ -DCMAKE_CXX_COMPILER=mpicxx'
241123
242124 - name : PolyMPO Build
243125 run : cmake --build ${{ runner.temp }}/build-polyMPO -j8 --target install
0 commit comments