Skip to content

Commit

Permalink
Merge pull request #1951 from jedwards4b/external_actions_squash
Browse files Browse the repository at this point in the history
squash commit of external_actions
  • Loading branch information
jedwards4b authored Jan 8, 2023
2 parents fd1bdf8 + 4fc7cd3 commit 2446bf9
Show file tree
Hide file tree
Showing 22 changed files with 1,073 additions and 407 deletions.
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

0 comments on commit 2446bf9

Please sign in to comment.