-
Notifications
You must be signed in to change notification settings - Fork 55
126 lines (111 loc) · 4.16 KB
/
netcdf_pnetcdf_openmpi.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
name: netcdf_pnetcdf_openmpi
on:
push:
branches: [ maintodo ]
pull_request:
branches: [ maintodo ]
jobs:
build:
runs-on: ubuntu-latest
env:
# CPPFLAGS: "-I${GITHUB_WORKSPACE}/openmpi/include -I${GITHUB_WORKSPACE}/hdf5/include -I${GITHUB_WORKSPACE}/netcdf/include -I${GITHUB_WORKSPACE}/pnetcdf/include"
# LDFLAGS: "-L${GITHUB_WORKSPACE}/openmpi/lib -L${GITHUB_WORKSPACE}/hdf5/lib -L${GITHUB_WORKSPACE}/netcdf/lib -L${GITHUB_WORKSPACE}/pnetcdf/lib"
NETCDF_C_VERSION: v4.9.2
NETCDF_FORTRAN_VERSION: v4.6.1
OPENMPI_VERSION: v4.1.5
PNETCDF_VERSION: checkpoint.1.12.3
HDF5_VERSION: hdf5_1_12_2
FCFLAGS: "-fallow-argument-mismatch"
FFLAGS: "-fallow-argument-mismatch"
steps:
- uses: actions/checkout@v4
- name: Installs
run: |
sudo apt-get install doxygen graphviz wget gfortran libjpeg-dev libz-dev
- name: cache-openmpi
id: cache-openmpi
uses: actions/cache@v4
with:
path: ~/work/ParallelIO/ParallelIO/openmpi
key: openmpi-${{ runner.os }}-${{ env.OPENMPI_VERSION }}
- name: build-openmpi
if: steps.cache-openmpi.outputs.cache-hit != 'true'
uses: ./.github/actions/buildopenmpi
with:
install_prefix: ${GITHUB_WORKSPACE}/openmpi
openmpi_version: ${{ env.OPENMPI_VERSION }}
- name: cache-hdf5
id: cache-hdf5
uses: actions/cache@v4
with:
path: ~/work/ParallelIO/ParallelIO/hdf5
key: hdf5-${{ runner.os }}-${{ env.HDF5_VERSION }}-openmpi-${{ env.OPENMPI_VERSION }}
- name: build-hdf5
if: steps.cache-hdf5.outputs.cache-hit != 'true'
uses: ./.github/actions/buildhdf5
with:
install_prefix: ${GITHUB_WORKSPACE}/hdf5
enable_parallel: True
hdf5_version: ${{ env.HDF5_VERSION }}
mpi_path: ${GITHUB_WORKSPACE}/openmpi
- name: cache-netcdf
id: cache-netcdf
uses: actions/cache@v4
with:
path: ~/work/ParallelIO/ParallelIO/netcdf
key: netcdf-${{ runner.os }}-${{ env.NETCDF_C_VERSION }}-${{ env.NETCDF_FORTRAN_VERSION }}-openmpi-${{ env.OPENMPI_VERSION }}-hdf5-${{ env.HDF5_VERSION }}
- name: build-netcdf-c
if: steps.cache-netcdf.outputs.cache-hit != 'true'
uses: ./.github/actions/buildnetcdf
with:
netcdf_version: ${{ env.NETCDF_C_VERSION }}
install_prefix: ${GITHUB_WORKSPACE}/netcdf
# - name: Setup tmate session
# if: ${{ failure() }}
# uses: mxschmitt/action-tmate@v4
- name: Build NetCDF Fortran
if: steps.cache-netcdf.outputs.cache-hit != 'true'
uses: ./.github/actions/buildnetcdff
with:
netcdf_fortran_version: ${{ env.NETCDF_FORTRAN_VERSION }}
install_prefix: ${GITHUB_WORKSPACE}/netcdf
netcdf_c_path: ${GITHUB_WORKSPACE}/netcdf
# - name: cache-pnetcdf
# id: cache-pnetcdf
# uses: actions/cache@v4
# with:
# path: ~/pnetcdf
# key: pnetcdf-${{ runner.os }}-${{ env.PNETCDF_VERSION }}-openmpi-${{ env.OPENMPI_VERSION_MAJOR }}.${{ env.OPENMPI_VERSION_PATCH }}
# - name: Build PNetCDF
# if: steps.cache-pnetcdf.outputs.cache-hit != 'true'
# uses: ./.github/actions/buildpnetcdf
# with:
# pnetcdf_version: ${{ env.PNETCDF_VERSION }}
# install_prefix: pnetcdf
# - name: Build ParallelIO with autotools
# uses: ./.github/actions/parallelio_autotools
# with:
# enable_fortran: True
# with_mpiexec: 'mpiexec --oversubscribe'
# parallelio_version: ${{ env.GITHUB_SHA }}
# - name: make check
# run: |
# cd ${GITHUB_WORKSPACE}/parallelio-src
# make -j check
# make distclean
# - name: cmake build
# uses: ./.github/actions/parallelio_cmake
# with:
# parallelio_version: ${{ env.GITHUB_SHA }}
# with_pnetcdf: pnetcdf
# with_netcdf: netcdf
# with_netcdff: netcdf
# enable_fortran: True
# install_prefix: parallelio
# with_mpiexec: "${{ env.GITHUB_WORKSPACE }}/openmpi/bin/mpiexec --oversubscribe"
# - name: run tests
# run: |
# pushd ${GITHUB_WORKSPACE}/build
# make tests VERBOSE=1
# ctest -VV
# popd