Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use external actions for support library builds #1950

Closed
wants to merge 168 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
f5b8803
use an external action for pnetcdf build
jedwards4b Dec 27, 2022
2ca940e
add more external builds
jedwards4b Dec 27, 2022
fef4853
create an hdf5 build action
jedwards4b Dec 27, 2022
142520f
create an hdf5 build action
jedwards4b Dec 27, 2022
3195ddd
create an hdf5 build action
jedwards4b Dec 27, 2022
76d2190
create an hdf5 build action
jedwards4b Dec 28, 2022
95df9d2
add mpich build
jedwards4b Dec 28, 2022
e3b3880
add mpich build
jedwards4b Dec 28, 2022
45a61d6
add mpich build
jedwards4b Dec 28, 2022
9ef3acb
add oneapi compiler and mpi library
jedwards4b Dec 28, 2022
90bc401
more workflow play
jedwards4b Dec 28, 2022
39c7da3
more workflow play
jedwards4b Dec 28, 2022
282d12f
add oneapi compiler and mpi library
jedwards4b Dec 28, 2022
0f2617c
add oneapi compiler and mpi library
jedwards4b Dec 28, 2022
70fbf21
add oneapi compiler and mpi library
jedwards4b Dec 28, 2022
61fcc22
add oneapi compiler and mpi library
jedwards4b Dec 28, 2022
9f99300
add parallelio build
jedwards4b Dec 28, 2022
f31d69b
add parallelio build
jedwards4b Dec 28, 2022
8f666f7
add parallelio build
jedwards4b Dec 28, 2022
e2df92a
add parallelio build
jedwards4b Dec 28, 2022
1cad63b
add parallelio build
jedwards4b Dec 28, 2022
2ec651a
add parallelio build
jedwards4b Dec 28, 2022
fc6ee20
add parallelio build
jedwards4b Dec 28, 2022
f015e19
add parallelio build
jedwards4b Dec 28, 2022
9ab6a83
add zlib to hdf5
jedwards4b Dec 28, 2022
8eaf7eb
move netcdff build from cdeps to here
jedwards4b Dec 28, 2022
ebaea76
get netcdf-fortran version correct
jedwards4b Dec 28, 2022
98fb192
find ifort version
jedwards4b Dec 28, 2022
16d3daa
try again with ifort
jedwards4b Dec 28, 2022
6d758bf
try again with ifort
jedwards4b Dec 28, 2022
076b2f6
netcdff woes
jedwards4b Dec 28, 2022
fd346aa
debug issue
jedwards4b Dec 29, 2022
5fdb139
keep poking
jedwards4b Dec 29, 2022
588e641
try adding LD_LIBRARY_PATH
jedwards4b Dec 29, 2022
55b1a05
try github_sha
jedwards4b Dec 29, 2022
9df4449
fix install path
jedwards4b Dec 29, 2022
d9ad419
fix install path
jedwards4b Dec 29, 2022
5a56499
fix install path
jedwards4b Dec 29, 2022
37a0474
run tests
jedwards4b Dec 29, 2022
96b3e74
move all actions to this repo
jedwards4b Dec 29, 2022
208f8fe
move all actions to this repo
jedwards4b Dec 29, 2022
b8df38a
move all actions to this repo
jedwards4b Dec 29, 2022
1e4c2b1
move all actions to this repo
jedwards4b Dec 29, 2022
68f78ec
paths are a headache
jedwards4b Dec 29, 2022
01e828b
paths are a headache
jedwards4b Dec 29, 2022
3bfd81c
paths are a headache
jedwards4b Dec 29, 2022
3376ceb
try again
jedwards4b Dec 29, 2022
19ed50f
debug session
jedwards4b Dec 29, 2022
7d25cfc
debug session
jedwards4b Dec 29, 2022
26582ff
debug session
jedwards4b Dec 29, 2022
7e0db9c
more github workflow
jedwards4b Dec 30, 2022
1c9ce2d
dont use home
jedwards4b Dec 30, 2022
12a5ce9
keep trying
jedwards4b Dec 30, 2022
d29dbc4
keep trying
jedwards4b Dec 30, 2022
569f695
keep trying
jedwards4b Dec 30, 2022
a8b1502
keep trying
jedwards4b Dec 30, 2022
e15892e
keep trying
jedwards4b Dec 30, 2022
cf69a21
keep trying
jedwards4b Dec 30, 2022
3970285
keep trying
jedwards4b Dec 30, 2022
06ba51c
keep trying
jedwards4b Dec 30, 2022
4a467e2
keep trying
jedwards4b Dec 30, 2022
0318694
keep trying
jedwards4b Dec 30, 2022
6d6fee7
keep trying
jedwards4b Dec 30, 2022
594c1d1
keep trying
jedwards4b Dec 30, 2022
88292b6
more github workflow
jedwards4b Dec 30, 2022
fad5416
keep trying
jedwards4b Dec 30, 2022
112dc6b
keep trying
jedwards4b Dec 30, 2022
cb28536
keep trying
jedwards4b Dec 30, 2022
c52fdfe
no idea what Im doing now
jedwards4b Dec 30, 2022
bd583e5
no idea w
jedwards4b Dec 30, 2022
2c54231
getting old
jedwards4b Dec 30, 2022
9c163ac
no idea w
jedwards4b Dec 30, 2022
763b10c
no idea w
jedwards4b Dec 30, 2022
3c3041c
no idea w
jedwards4b Dec 30, 2022
cf83488
no idea w
jedwards4b Dec 30, 2022
483f1d2
no idea w
jedwards4b Dec 30, 2022
384683f
no idea w
jedwards4b Dec 30, 2022
ffc828f
no idea w
jedwards4b Dec 30, 2022
dea3da8
no idea w
jedwards4b Dec 30, 2022
8f12f46
no idea w
jedwards4b Dec 30, 2022
c6e21a4
no idea why
jedwards4b Dec 30, 2022
dfd98df
no idea why
jedwards4b Dec 30, 2022
0dd5e65
getting old
jedwards4b Dec 30, 2022
5bbc0c0
getting old
jedwards4b Dec 30, 2022
b094894
getting old
jedwards4b Dec 30, 2022
84e363b
getting old
jedwards4b Dec 30, 2022
d8a0809
getting old
jedwards4b Dec 30, 2022
a962c56
desperation move
jedwards4b Dec 30, 2022
91716c8
no idea why
jedwards4b Dec 30, 2022
cd688fe
no idea why
jedwards4b Dec 30, 2022
857c084
no idea why
jedwards4b Dec 30, 2022
9ef806c
no idea why
jedwards4b Dec 30, 2022
ca574cd
stop most until some work
jedwards4b Dec 30, 2022
5607e5d
stop most until some work
jedwards4b Dec 30, 2022
6ee187e
cmake works now
jedwards4b Dec 30, 2022
2325b45
cmake works now
jedwards4b Dec 30, 2022
9676a13
cmake works now
jedwards4b Dec 30, 2022
1bc0f03
cmake works now
jedwards4b Dec 30, 2022
847a340
cmake works now
jedwards4b Dec 30, 2022
25cd7a0
start to add intel build
jedwards4b Dec 31, 2022
9937433
start to add intel build
jedwards4b Dec 31, 2022
5d9618b
start to add intel build
jedwards4b Dec 31, 2022
d522070
start to add intel build
jedwards4b Dec 31, 2022
f2d2ae1
start to add intel build
jedwards4b Dec 31, 2022
043edc3
start to add intel build
jedwards4b Dec 31, 2022
7b44657
add -Wall to autotools build
jedwards4b Dec 31, 2022
660f693
add -Wall to autotools build
jedwards4b Dec 31, 2022
563b664
add -Wall to autotools build
jedwards4b Dec 31, 2022
5e56330
add -Wall to autotools build
jedwards4b Dec 31, 2022
b9c4d2a
asan issues
jedwards4b Dec 31, 2022
cbb7845
asan issues
jedwards4b Dec 31, 2022
f63a1cd
asan issues
jedwards4b Dec 31, 2022
8449f4e
working better now
jedwards4b Dec 31, 2022
fc7e0c9
add a spack build
jedwards4b Dec 31, 2022
e052cf9
getting better
jedwards4b Dec 31, 2022
1ba52e5
add a spack build
jedwards4b Dec 31, 2022
28995db
getting better
jedwards4b Dec 31, 2022
b9c117e
getting better
jedwards4b Dec 31, 2022
46add0d
add a spack build
jedwards4b Dec 31, 2022
939ce45
getting better
jedwards4b Dec 31, 2022
f1b4ea6
add caching to spack
jedwards4b Dec 31, 2022
4a173fe
more work
jedwards4b Dec 31, 2022
f13c2b2
more work
jedwards4b Dec 31, 2022
42a7056
do this to establish spack cache
jedwards4b Dec 31, 2022
2c06117
do this to establish spack cache
jedwards4b Dec 31, 2022
dc0ce1a
do this to establish spack cache
jedwards4b Dec 31, 2022
a229637
do this to establish spack cache
jedwards4b Dec 31, 2022
4466233
get the commit right
jedwards4b Jan 1, 2023
d7b7f29
import os
jedwards4b Jan 1, 2023
86f11ec
import os
jedwards4b Jan 1, 2023
e20b931
try spack dev-build
jedwards4b Jan 1, 2023
9868bec
try spack dev-build
jedwards4b Jan 1, 2023
cd25844
try spack dev-build
jedwards4b Jan 1, 2023
f1cb4f3
remove gfortran patch
jedwards4b Jan 1, 2023
6339d6a
getting closer
jedwards4b Jan 1, 2023
47231ca
try with mpich
jedwards4b Jan 1, 2023
d9a6c94
getting closer
jedwards4b Jan 1, 2023
764da60
getting closer
jedwards4b Jan 1, 2023
693c4f3
getting closer
jedwards4b Jan 1, 2023
03beb07
cache spack build, add ncint
jedwards4b Jan 2, 2023
8761016
ncint a little at a time
jedwards4b Jan 2, 2023
99c7610
uninstall first
jedwards4b Jan 2, 2023
d774e0d
buf fixes
jedwards4b Jan 2, 2023
6200d10
correct paths
jedwards4b Jan 2, 2023
cd7b593
try again
jedwards4b Jan 2, 2023
b00becd
more
jedwards4b Jan 2, 2023
aa70cd5
more
jedwards4b Jan 2, 2023
060a36e
more
jedwards4b Jan 2, 2023
4eb48a7
more
jedwards4b Jan 2, 2023
641d01f
more
jedwards4b Jan 2, 2023
a151219
more
jedwards4b Jan 2, 2023
3793dd7
more
jedwards4b Jan 2, 2023
022d144
still trying
jedwards4b Jan 3, 2023
f401c73
still trying
jedwards4b Jan 3, 2023
1ac86e6
still trying
jedwards4b Jan 3, 2023
f4d0f8e
still trying
jedwards4b Jan 3, 2023
e3eed82
add exceptions
jedwards4b Jan 3, 2023
9390e30
this is really old
jedwards4b Jan 3, 2023
4ba0b1b
try increased timeout
jedwards4b Jan 6, 2023
41299ea
add ld_library_path
jedwards4b Jan 6, 2023
e49e033
finally add pio tests
jedwards4b Jan 7, 2023
e36a6dc
finally add pio tests
jedwards4b Jan 7, 2023
97a545f
remove openmpi option
jedwards4b Jan 7, 2023
3caf09e
get bld directory;
jedwards4b Jan 7, 2023
89f675f
skip tests timing out
jedwards4b Jan 7, 2023
21b759f
almost complete
jedwards4b Jan 7, 2023
bdcc2e6
almost complete
jedwards4b Jan 7, 2023
1d17c90
almost complete
jedwards4b Jan 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions .github/actions/buildhdf5/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
description: 'Build the HDF5 library'
inputs:
hdf5_version:
description: 'Tag in the HDF5 repository to use'
default: hdf5-1_12_2
required: False
type: string
enable_logging:
description: 'Enable hdf5 logging (for debugging)'
default: False
required: False
type: boolean
enable_parallel:
description: 'Enable hdf5 parallel build'
default: True
required: False
type: boolean
enable_testing:
description: 'Build HDF5 tests'
default: False
required: False
type: boolean

install_prefix:
description: 'Install path of hdf5'
default: ${GITHUB_WORKSPACE}/hdf5
required: False
type: string
mpi_path:
description: 'Path to mpi install'
default: /usr
required: False
type: string
runs:
using: composite
steps:
- uses: actions/checkout@v3
with:
repository: HDFGroup/hdf5
path: hdf5-src
ref: ${{ inputs.hdf5_version }}
- id: hdf5-build
shell: bash
run: |
pushd hdf5-src
mkdir hdf5-build
pushd hdf5-build
export PATH=$PATH:${{ inputs.mpi_path }}/bin
cmake -DCMAKE_INSTALL_PREFIX=${{ inputs.install_prefix }} \
-DHDF5_ENABLE_PARALLEL=${{ inputs.enable_parallel }} \
-DHDF5_ENABLE_Z_LIB_SUPPORT=ON \
-DBUILD_TESTING=${{ inputs.enable_testing }} \
-DHDF5_BUILD_TOOLS=OFF \
../
make
make install
30 changes: 30 additions & 0 deletions .github/actions/buildmpich/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
description: 'Build the MPICH library'
inputs:
mpich_version:
description: 'Tag in the MPICH repository to use'
default: v4.0.3
required: False
type: string
install_prefix:
description: 'Install path of mpich'
default: $HOME/mpich
required: False
type: string
runs:
using: composite
steps:
- uses: actions/checkout@v3
with:
repository: pmodels/mpich
path: mpich-src
ref: ${{ inputs.mpich_version }}
submodules: 'recursive'
- id: mpich-build
shell: bash
run: |
pushd mpich-src
./autogen.sh
./configure --prefix=${{ inputs.install_prefix }}
make -j4
make install
popd
67 changes: 67 additions & 0 deletions .github/actions/buildnetcdf/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
description: 'Build the netcdf fortran library'
inputs:
netcdf_version:
description: 'Tag in the netcdf repository to use'
default: v4.9.0
required: False
type: string
shared_libraries:
description: 'Build shared libraries'
default: True
required: False
type: boolean
build_utilities:
description: 'Build netcdf utility tools'
default: False
required: False
type: boolean
enable_examples:
description: 'Build netcdf examples'
default: False
required: False
type: boolean
enable_netcdf4:
description: 'Build netcdf4 (hdf5) libraries'
default: True
required: False
type: boolean
enable_logging:
description: 'Enable netcdf logging (for debugging)'
default: False
required: False
type: boolean
enable_dap:
description: 'Enable netcdf DAP'
default: False
required: False
type: boolean

install_prefix:
description: 'Install path of netcdf'
default: $HOME/netcdf-c
required: False
type: string

runs:
using: composite
steps:
- uses: actions/checkout@v3
with:
repository: Unidata/netcdf-c
path: netcdf-c-src
ref: ${{ inputs.NETCDF_VERSION }}
- id: netcdf-c-build
shell: bash
run: |
pushd $GITHUB_WORKSPACE/netcdf-c-src
autoreconf -i
config_args=--prefix=${{ inputs.install_prefix }}
if [ "${{ inputs.enable_dap }}" = "false" ];
then
config_args="$config_args --disable-dap"
fi
echo "config_args=$config_args"
./configure $config_args
make
make install
popd
35 changes: 35 additions & 0 deletions .github/actions/buildnetcdff/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
description: 'Build the netcdf fortran library'
inputs:
netcdf_fortran_version:
description: 'Tag in the netcdf fortran repository to use'
default: v5.6.0
required: False
type: string
netcdf_c_path:
description: 'Path to the installed netcdf c code root'
default: /usr
required: False
type: string
install_prefix:
description: 'Install path of netcdf-fortran'
default: $HOME/netcdf-fortran
required: False
type: string

runs:
using: composite
steps:
- uses: actions/checkout@v3
with:
repository: Unidata/netcdf-fortran
path: netcdf-fortran-src
ref: ${{ inputs.NETCDF_FORTRAN_VERSION }}
- id: netcdf-fortran-build
shell: bash
run: |
pushd netcdf-fortran-src
export CPPFLAGS="$CPPFLAGS -I${{ inputs.netcdf_c_path }}/include"
export LDFLAGS="$LDFLAGS -L${{ inputs.netcdf_c_path }}/lib -lnetcdf"
./configure --prefix=${{ inputs.install_prefix }}
make
make install
30 changes: 30 additions & 0 deletions .github/actions/buildopenmpi/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
description: 'Build the OPENMPI library'
inputs:
openmpi_version:
description: 'Tag in the OPENMPI repository to use'
default: v4.1.4
required: False
type: string
install_prefix:
description: 'Install path of openmpi'
default: ${GITHUB_WORKSPACE}/openmpi
required: False
type: string
runs:
using: composite
steps:
- uses: actions/checkout@v3
with:
repository: open-mpi/ompi
path: openmpi-src
ref: ${{ inputs.openmpi_version }}
submodules: 'recursive'
- id: openmpi-build
shell: bash
run: |
pushd openmpi-src
perl ./autogen.pl
./configure --prefix=${{ inputs.install_prefix }}
make -j4
make install
popd
52 changes: 52 additions & 0 deletions .github/actions/buildpnetcdf/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
description: 'Build the pnetcdf library'
inputs:
pnetcdf_version:
description: 'Tag in the pnetcdf repository to use'
default: checkpoint.1.12.3
required: False
type: string
install_prefix:
description: 'Install path of pnetcdf'
default: $GITHUB_WORKSPACE/pnetcdf
required: False
type: string
enable_shared:
description: 'Enable shared library build'
default: True
required: False
type: boolean
enable_fortran:
description: "Build the fortran library"
default: False
required: False
type: boolean
runs:
using: composite
steps:
- uses: actions/checkout@v3
with:
repository: Parallel-NetCDF/PnetCDF
path: pnetcdf-src
ref: ${{ inputs.pnetcdf_version }}
- id: Build-PnetCDF
shell: bash
run: |
pushd pnetcdf-src
config_opts="--prefix=${{ inputs.install_prefix }} --disable-cxx "
if [ "${{ inputs.enable_fortran }}" = "false" ];
then
config_opts="${config_opts} --disable-fortran"
fi
if [ "${{ inputs.enable_shared }}" = "true" ];
then
config_opts="${config_opts} --enable-shared=yes"
fi

config_opts="${config_opts}"
echo "config_opts=$config_opts"
autoreconf -i
./configure $config_opts

make
make install
popd
23 changes: 23 additions & 0 deletions .github/actions/intelcompilers/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
description: 'Install Intel Compilers'
runs:
using: composite
steps:
- uses: actions/checkout@v3
- name: setup repo
shell: bash
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
sudo 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
shell: bash
run: |
sudo apt-get install -y intel-oneapi-common-vars
sudo apt-get install -y intel-oneapi-compiler-fortran
sudo apt-get install -y intel-oneapi-mkl
sudo apt-get install -y intel-oneapi-mpi
sudo apt-get install -y intel-oneapi-mpi-devel
source /opt/intel/oneapi/setvars.sh
printenv >> $GITHUB_ENV
Loading