Added DEPENDENCIES

main
lib 2 years ago
parent 77bd7563eb
commit 0130991747
  1. 57
      .github/workflows/build_external_lib.yml
  2. 130
      .github/workflows/build_netcdf_no_hdf5.yml
  3. 129
      .github/workflows/build_test.yml
  4. 309
      .github/workflows/build_variant.yml
  5. 10
      .github/workflows/ci-build.sh
  6. 35
      .github/workflows/cla.yml
  7. 119
      .github/workflows/coverity-scan.yml
  8. 30
      .github/workflows/docker-exodus.yml
  9. 32
      .github/workflows/docker-seacas.yml
  10. 169
      .github/workflows/intel-build.yml
  11. 26
      .github/workflows/msys2.yml
  12. 34
      .github/workflows/python-linting.yml
  13. 19
      .github/workflows/stale.yml
  14. 11
      .github/workflows/trailing.yml
  15. 4
      .gitignore
  16. 4
      DEPENDENCIES

@ -1,57 +0,0 @@
name: Build Using Ubuntu-installed libraries
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_dispatch:
jobs:
build-deps:
runs-on: ubuntu-22.04
strategy:
matrix:
compiler: [ gnu, clang ]
steps:
- uses: actions/checkout@v3
- name: Install System dependencies
shell: bash -l {0}
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openmpi-bin libopenmpi-dev libnetcdf-dev libhdf5-dev libcgns-dev libmatio-dev libfmt-dev
- name: Run cmake
shell: bash -l {0}
run: |
echo $HOME
find /usr/include -name cgnslib.h
mkdir build
cd build
NETCDF_PATH=/usr MODERN=YES NUMPROCS=2 COMPILER=${{ matrix.compiler }} INSTALL_PATH=${HOME} bash ../cmake-config
- name: Build
shell: bash -l {0}
run: |
cd build
make -j 4
if: ${{ success() }}
- name: Install
shell: bash -l {0}
run: |
cd build
make -j 4 install
if: ${{ success() }}
- name: Run Tests
shell: bash -l {0}
run: |
cd build
ctest -j 4 --output-on-failure
if: ${{ success() }}

@ -1,130 +0,0 @@
# This is a basic workflow to help you get started with Actions
name: SEACAS no-hdf5-netcdf builds
# Controls when the action will run. Triggers the workflow on push
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build-deps:
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [ gnu, clang, mpi ]
netcdf: [ 4.9.2 ]
steps:
- uses: actions/checkout@v3
- name: Install System dependencies
shell: bash -l {0}
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openmpi-bin libopenmpi-dev
###
# Installing TPL
###
- name: Cache TPL-${{ matrix.compiler }}-${{ matrix.netcdf }}
id: cache-TPL-mpi
uses: actions/cache@v3
with:
path: ~/environments/${{ matrix.compiler }}-${{ matrix.netcdf }}
key: TPL-v4-${{ runner.os }}-${{ matrix.compiler }}-${{ matrix.netcdf }}
- name: Build TPL-${{ matrix.compiler }}-${{ matrix.netcdf }}
if: steps.cache-TPL.outputs.cache-hit != 'true'
run: |
set -x
COMPILER=${{ matrix.compiler }} HDF5=NO GNU_PARALLEL=OFF INSTALL_PATH=${HOME}/environments/${{ matrix.compiler }}-${{ matrix.netcdf }} ./install-tpl.sh
ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.netcdf }} && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.netcdf }}/lib
build:
needs: build-deps
# The type of runner that the job will run on
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
netcdf: [ 4.9.2 ]
config:
- {
name: "Debug serial build",
os: ubuntu-latest,
compiler: "gnu",
debug: "YES",
extra: "",
}
- {
name: "Debug parallel build",
os: ubuntu-latest,
compiler: "mpi",
debug: "YES",
extra: "",
}
- {
name: "Use modern CMake configure of netCDF package",
os: ubuntu-latest,
compiler: "mpi",
debug: "NO",
extra: "MODERN=YES",
}
steps:
- uses: actions/checkout@v3
- name: Install System dependencies
shell: bash -l {0}
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openmpi-bin libopenmpi-dev
- name: Fetch TPL Cache
id: cache-TPL
uses: actions/cache@v3
with:
path: ~/environments/${{ matrix.config.compiler }}-${{ matrix.netcdf }}
key: TPL-v4-${{ runner.os }}-${{ matrix.config.compiler }}-${{ matrix.netcdf }}
- name: Check Cache
shell: bash -l {0}
run: ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.netcdf }} && ls ${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.netcdf }}/lib
###
# Configure and build
###
- name: Run cmake
shell: bash -l {0}
run: |
echo $HOME
mkdir build
cd build
NUMPROCS=2 ${{ matrix.config.extra }} DEBUG=${{ matrix.config.debug }} COMPILER=${{ matrix.config.compiler }} INSTALL_PATH=${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.netcdf }} bash ../cmake-config
- name: Build
shell: bash -l {0}
run: |
cd build
make -j 4
if: ${{ success() }}
- name: Install
shell: bash -l {0}
run: |
cd build
make -j 4 install
if: ${{ success() }}
- name: Run Tests
shell: bash -l {0}
run: |
cd build
ctest -j 4 --output-on-failure
if: ${{ success() }}

@ -1,129 +0,0 @@
name: Build and run SEACAS tests
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build-deps:
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [ gnu, clang, mpi ]
hdf5: [ V18, V110, V114 ]
netcdf: [ 4.9.2 ]
cgns: [ 4.3.0 ]
steps:
- uses: actions/checkout@v3
- name: Install System dependencies
shell: bash -l {0}
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openmpi-bin libopenmpi-dev
###
# Installing TPL
###
- name: Cache TPL-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
id: cache-TPL
uses: actions/cache@v3
with:
path: ~/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
key: TPL-v4-${{ runner.os }}-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
- name: Build TPL-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
if: steps.cache-TPL.outputs.cache-hit != 'true'
run: |
echo $HOME
set -x
COMPILER=${{ matrix.compiler }} H5VERSION=${{ matrix.hdf5}} GNU_PARALLEL=OFF INSTALL_PATH=${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} ./install-tpl.sh
ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib
###
# Fetch Cache
###
seacas-build:
needs: build-deps
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [ gnu, clang, mpi ]
hdf5: [ V18, V110, V114 ]
netcdf: [ 4.9.2 ]
cgns: [ 4.3.0 ]
steps:
- uses: actions/checkout@v3
- name: Install System dependencies
shell: bash -l {0}
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openmpi-bin libopenmpi-dev
- name: Fetch TPL Cache
id: cache-TPL
uses: actions/cache@v3
with:
path: ~/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
key: TPL-v4-${{ runner.os }}-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
- name: Check Cache
shell: bash -l {0}
run: ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib
###
# Configure and build
###
- name: Setup Python
uses: actions/setup-python@v3
with:
python-version: '3.11'
- name: Install NumPy
shell: bash -l {0}
run: pip install numpy
- name: Run cmake
shell: bash -l {0}
run: |
echo $HOME
mkdir build
cd build
NUMPROCS=2 COMPILER=${{ matrix.compiler }} INSTALL_PATH=${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} bash ../cmake-config
- name: Build
shell: bash -l {0}
run: |
cd build
make -j 4
if: ${{ success() }}
- name: Install
shell: bash -l {0}
run: |
cd build
make -j 4 install
if: ${{ success() }}
- name: Run Tests
shell: bash -l {0}
run: |
cd build
ctest -j 4 --output-on-failure
if: ${{ success() }}
- name: Run SEACAS-Test
shell: bash -l {0}
run: |
cd SEACAS-Test
make BASE=${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} test
if: ${{ success() }}

@ -1,309 +0,0 @@
# This is a basic workflow to help you get started with Actions
name: SEACAS Variant builds
# Controls when the action will run. Triggers the workflow on push
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build-deps:
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [ gnu, clang, mpi ]
hdf5: [ V110 ]
netcdf: [ 4.9.2 ]
cgns: [ 4.3.0 ]
steps:
- uses: actions/checkout@v3
- name: Install System dependencies
shell: bash -l {0}
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openmpi-bin libopenmpi-dev
###
# Installing TPL
###
- name: Cache TPL-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
id: cache-TPL-mpi
uses: actions/cache@v3
with:
path: ~/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
key: TPL-v4-${{ runner.os }}-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
- name: Build TPL-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
if: steps.cache-TPL.outputs.cache-hit != 'true'
run: |
set -x
COMPILER=${{ matrix.compiler }} H5VERSION=${{ matrix.hdf5}} GNU_PARALLEL=OFF INSTALL_PATH=${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} ./install-tpl.sh
ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib
build:
needs: build-deps
# The type of runner that the job will run on
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
hdf5: [ V110 ]
netcdf: [ 4.9.2 ]
cgns: [ 4.3.0 ]
config:
- {
name: "Debug serial build",
os: ubuntu-latest,
compiler: "gnu",
debug: "YES",
threadsafe: "NO",
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
sanitizer: "NO" # address, integer, thread, memory, undefined
}
- {
name: "Debug parallel build",
os: ubuntu-latest,
compiler: "mpi",
debug: "YES",
threadsafe: "NO",
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
sanitizer: "NO" # address, integer, thread, memory, undefined
}
- {
name: "Threadsafe ON, No Fortran",
os: ubuntu-latest,
compiler: "gnu",
debug: "YES",
threadsafe: "YES",
fortran: "NO",
use_kokkos: "NO",
use_adios2: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
sanitizer: "thread" # address, integer, thread, memory, undefined
}
- {
name: "Threadsafe ON, Parallel, No Fortran",
os: ubuntu-latest,
compiler: "mpi",
debug: "YES",
threadsafe: "YES",
fortran: "NO",
use_kokkos: "NO",
use_adios2: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
sanitizer: "thread" # address, integer, thread, memory, undefined
}
- {
name: "Sanitize address, no fortran",
os: ubuntu-latest,
compiler: "clang",
debug: "YES",
threadsafe: "NO",
fortran: "NO",
use_kokkos: "NO",
use_adios2: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
sanitizer: "address" # address, integer, thread, memory, undefined
}
- {
name: "Sanitize undefined",
os: ubuntu-latest,
compiler: "clang",
debug: "YES",
threadsafe: "NO",
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
sanitizer: "undefined" # address, integer, thread, memory, undefined
}
- {
name: "Sanitize integer",
os: ubuntu-latest,
compiler: "clang",
debug: "YES",
threadsafe: "NO",
fortran: "NO",
use_kokkos: "NO",
use_adios2: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
sanitizer: "integer" # address, integer, thread, memory, undefined
}
- {
name: "GTest Enabled",
os: ubuntu-latest,
compiler: "gnu",
debug: "YES",
threadsafe: "NO",
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_catalyst2: "NO",
gtest: "YES",
extra: "",
sanitizer: "NO" # address, integer, thread, memory, undefined
}
- {
name: "No applications, legacy, or fortran",
os: ubuntu-latest,
compiler: "clang",
debug: "NO",
threadsafe: "NO",
fortran: "NO",
use_kokkos: "NO",
use_adios2: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "APPLICATIONS=NO LEGACY=NO",
sanitizer: "NO" # address, integer, thread, memory, undefined
}
- {
name: "CATALYST2, serial",
os: ubuntu-latest,
compiler: "clang",
debug: "NO",
threadsafe: "NO",
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_catalyst2: "YES",
gtest: "NO",
extra: "",
sanitizer: "NO" # address, integer, thread, memory, undefined
}
- {
name: "KOKKOS, parallel",
os: ubuntu-latest,
compiler: "mpi",
debug: "NO",
threadsafe: "NO",
fortran: "YES",
use_kokkos: "YES",
use_adios2: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "",
sanitizer: "NO" # address, integer, thread, memory, undefined
}
- {
name: "No deprecated exodus functions",
os: ubuntu-latest,
compiler: "mpi",
debug: "NO",
threadsafe: "NO",
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "OMIT_DEPRECATED=YES",
sanitizer: "NO" # address, integer, thread, memory, undefined
}
- {
name: "Use modern CMake configure of netCDF and HDF5 packages",
os: ubuntu-latest,
compiler: "mpi",
debug: "NO",
threadsafe: "NO",
fortran: "YES",
use_kokkos: "NO",
use_adios2: "NO",
use_catalyst2: "NO",
gtest: "NO",
extra: "MODERN=YES",
sanitizer: "NO" # address, integer, thread, memory, undefined
}
steps:
- uses: actions/checkout@v3
- name: Install System dependencies
shell: bash -l {0}
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openmpi-bin libopenmpi-dev
- name: Fetch TPL Cache
id: cache-TPL
uses: actions/cache@v3
with:
path: ~/environments/${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
key: TPL-v4-${{ runner.os }}-${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
- name: Check Cache
shell: bash -l {0}
run: ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} && ls ${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib
- name: install additional TPL
if: ${{ matrix.config.use_kokkos == 'YES' || matrix.config.use_adios2 == 'YES' || matrix.config.gtest == 'YES' || matrix.config.use_catalyst == 'YES' }}
run: |
set -x
COMPILER=${{ matrix.config.compiler }} KOKKOS=${{ matrix.config.use_kokkos }} ADIOS2=${{ matrix.config.use_adios2 }} CATALYST2=${{ matrix.config.use_catalyst2 }} GNU_PARALLEL=OFF GTEST=${{ matrix.config.gtest }} INSTALL_PATH=${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} ./install-tpl.sh
ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} && ls ${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib
###
# Configure and build
###
- name: Run cmake
shell: bash -l {0}
run: |
echo $HOME
mkdir build
cd build
NUMPROCS=2 ${{ matrix.config.extra }} THREADSAFE=${{ matrix.config.threadsafe }} DEBUG=${{ matrix.config.debug }} FORTRAN=${{ matrix.config.fortran }} SANITIZER=${{ matrix.config.sanitizer }} COMPILER=${{ matrix.config.compiler }} INSTALL_PATH=${HOME}/environments/${{ matrix.config.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} bash ../cmake-config
- name: Build
shell: bash -l {0}
run: |
cd build
make -j 4
if: ${{ success() }}
- name: Install
shell: bash -l {0}
run: |
cd build
make -j 4 install
if: ${{ success() }}
- name: Run Non-sanitized Tests
shell: bash -l {0}
run: |
cd build
ctest -j 4 --output-on-failure
if: ${{ success() && matrix.config.sanitizer == 'NO' && matrix.config.threadsafe == 'NO' }}
- name: Run sanitized/threadsafe Tests
shell: bash -l {0}
run: |
cd build
ctest -j 4 --output-on-failure --exclude-regex test_exo
if: ${{ success() && (matrix.config.sanitizer != 'NO' || matrix.config.threadsafe != 'NO') }}

@ -1,10 +0,0 @@
#!/bin/bash
set -e
pwd
echo "$HOME"
mkdir build
cd build
bash ../cmake-config
make -j4
ctest -j 4 --output-on-failure

@ -1,35 +0,0 @@
name: "CLA Assistant"
on:
pull_request_target:
types: [opened,closed,synchronize]
jobs:
CLAssistant:
runs-on: ubuntu-latest
steps:
- name: "CLA Assistant"
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
# Beta Release
uses: cla-assistant/github-action@v2.1.3-beta
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# the below token should have repo scope and must be manually added by you in the repository's secret
PERSONAL_ACCESS_TOKEN : ${{ secrets.PERSONAL_ACCESS_TOKEN }}
with:
path-to-signatures: 'signatures/version1/cla.json'
path-to-document: 'https://github.com/sandialabs/seacas/blob/master/SEACAS-CLA.md'
# branch should not be protected
branch: 'master'
allowlist: user1,bot*,*@sandia.gov
#below are the optional inputs - If the optional inputs are not given, then default values will be taken
#remote-organization-name: enter the remote organization name where the signatures should be stored (Default is storing the signatures in the same repository)
#remote-repository-name: enter the remote repository name where the signatures should be stored (Default is storing the signatures in the same repository)
#create-file-commit-message: 'For example: Creating file for storing CLA Signatures'
#signed-commit-message: 'For example: $contributorName has signed the CLA in #$pullRequestNo'
#custom-notsigned-prcomment: 'pull request comment with Introductory message to ask new contributors to sign'
#custom-pr-sign-comment: 'The signature to be committed in order to sign the CLA'
#custom-allsigned-prcomment: 'pull request comment when all contributors has signed, defaults to **CLA Assistant Lite bot** All Contributors have signed the CLA.'
#lock-pullrequest-aftermerge: false - if you don't want this bot to automatically lock the pull request after merging (default - true)
#use-dco-flag: true - If you are using DCO instead of CLA

@ -1,119 +0,0 @@
name: coverity-scan
on:
push:
branches:
- coverity
jobs:
build-deps:
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [ gnu ]
hdf5: [ V110 ]
netcdf: [ 4.9.2 ]
cgns: [ 4.3.0 ]
steps:
- uses: actions/checkout@v3
- name: Install System dependencies
shell: bash -l {0}
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openmpi-bin libopenmpi-dev
###
# Installing TPL
###
- name: Cache TPL-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
id: cache-TPL
uses: actions/cache@v3
with:
path: ~/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
key: TPL-v2-${{ runner.os }}-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
- name: Build TPL-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
if: steps.cache-TPL.outputs.cache-hit != 'true'
run: |
echo $HOME
set -x
COMPILER=${{ matrix.compiler }} H5VERSION=${{ matrix.hdf5}} GNU_PARALLEL=OFF INSTALL_PATH=${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} ./install-tpl.sh
ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib
###
# Fetch Cache
###
seacas-build:
needs: build-deps
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [ gnu ]
hdf5: [ V110 ]
netcdf: [ 4.9.2 ]
cgns: [ 4.3.0 ]
steps:
- uses: actions/checkout@v3
- name: Install System dependencies
shell: bash -l {0}
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openmpi-bin libopenmpi-dev
- name: Fetch TPL Cache
id: cache-TPL
uses: actions/cache@v3
with:
path: ~/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
key: TPL-v2-${{ runner.os }}-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
- name: Check Cache
shell: bash -l {0}
run: ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib
###
# Configure and build
###
- name: Download Coverity Build Tool
run: |
wget -q https://scan.coverity.com/download/linux64 --post-data "token=$TOKEN&project=gsjaardema%2Fseacas" -O coverity_tool.tgz
mkdir cov-analysis-linux64
tar xzf coverity_tool.tgz --strip 1 -C cov-analysis-linux64
env:
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
- name: Run cmake
shell: bash -l {0}
run: |
echo $HOME
mkdir build
cd build
ZOLTAN=NO INSTALL_PATH=${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} bash ../cmake-config coverity
- name: Build
shell: bash -l {0}
run: |
cd build
mkdir cov-int
../cov-analysis-linux64/bin/cov-build --dir cov-int make -j 4
if: ${{ success() }}
- name: Submit the result to Coverity Scan
run: |
cd build
tail cov-int/build-log.txt
tar czf seacas.tgz cov-int
curl \
--form token="$TOKEN" \
--form email=gsjaardema@gmail.com \
--form file=@seacas.tgz \
--form version="master" \
--form description="SEACAS Github Actions Coverity Scan" \
https://scan.coverity.com/builds?project=gsjaardema%2Fseacas
env:
TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
if: ${{ success() }}

@ -1,30 +0,0 @@
name: docker-exodus
on:
push:
branches: [ "master" ]
jobs:
build-latest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Docker login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Docker build and push
uses: docker/build-push-action@v3
with:
context: docker/exodus
push: true
tags: mrbuche/exodus:latest
- name: Delay before pull
run: sleep 234s
test-latest:
needs: build-latest
runs-on: ubuntu-latest
container: mrbuche/exodus
steps:
- name: Docker pull and test
run: |
python -c 'import exodus3 as exodus'

@ -1,32 +0,0 @@
name: docker-seacas
on:
push:
branches: [ "master" ]
jobs:
build-latest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Docker login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Docker build and push
uses: docker/build-push-action@v3
with:
context: docker/seacas
push: true
tags: mrbuche/seacas:latest
- name: Delay before pull
run: sleep 234s
test-latest:
needs: build-latest
runs-on: ubuntu-latest
container: mrbuche/seacas
steps:
- name: Docker pull and test
run: |
cd /seacas/build/ && ctest --output-on-failure && cd
cd /seacas/SEACAS-Test/ && make test && cd
python -c 'import exodus3 as exodus'

@ -1,169 +0,0 @@
name: Intel OneAPI build
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build-deps:
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [ intel, mpi ]
hdf5: [ V114 ]
netcdf: [ 4.9.2 ]
cgns: [ 4.3.0 ]
defaults:
run:
shell: bash --noprofile --norc {0}
steps:
- uses: actions/checkout@v3
- name: setup repo
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
run: |
sudo apt-get install -y intel-oneapi-common-vars
sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
sudo apt-get install -y intel-oneapi-compiler-fortran
sudo apt-get install -y intel-oneapi-mpi
sudo apt-get install -y intel-oneapi-mpi-devel
sudo apt-get install -y intel-oneapi-mkl
sudo apt-get install -y ninja-build
- name: Install System dependencies
shell: bash -l {0}
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev
###
# Installing TPL
###
- name: Cache TPL-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
id: cache-TPL
uses: actions/cache@v3
with:
path: ~/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
key: TPL-v5intel-${{ runner.os }}-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
- name: Build TPL-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
if: steps.cache-TPL.outputs.cache-hit != 'true'
run: |
echo $HOME
set -x
source /opt/intel/oneapi/setvars.sh
printenv >> $GITHUB_ENV
COMPILER=${{ matrix.compiler }} H5VERSION=${{ matrix.hdf5}} GNU_PARALLEL=OFF INSTALL_PATH=${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} ./install-tpl.sh
ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib
seacas-build:
needs: build-deps
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [ intel, mpi ]
hdf5: [ V114 ]
netcdf: [ 4.9.2 ]
cgns: [ 4.3.0 ]
steps:
- uses: actions/checkout@v3
- name: setup repo
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
run: |
sudo apt-get install -y intel-oneapi-common-vars
sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
sudo apt-get install -y intel-oneapi-compiler-fortran
sudo apt-get install -y intel-oneapi-mpi
sudo apt-get install -y intel-oneapi-mpi-devel
sudo apt-get install -y intel-oneapi-mkl
sudo apt-get install -y ninja-build
- name: Install System dependencies
shell: bash -l {0}
run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev
- name: Fetch TPL Cache
id: cache-TPL
uses: actions/cache@v3
with:
path: ~/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
key: TPL-v5intel-${{ runner.os }}-${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}
- name: Check Cache
shell: bash -l {0}
run: ls ${HOME} && ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} && ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib
###
# Configure and build
###
- name: List directory
shell: bash -l {0}
run: |
echo $HOME
ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/lib
ls ${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }}/include
- name: Run cmake
shell: bash -l {0}
run: |
echo $HOME
mkdir build
cd build
source /opt/intel/oneapi/setvars.sh
printenv >> $GITHUB_ENV
NUMPROCS=2 COMPILER=${{ matrix.compiler }} INSTALL_PATH=${HOME}/environments/${{ matrix.compiler }}-${{ matrix.hdf5 }}-${{ matrix.netcdf }}-${{ matrix.cgns }} bash ../cmake-config
- name: Build
shell: bash -l {0}
run: |
cd build
make -j 4
if: ${{ success() }}
- name: Install
shell: bash -l {0}
run: |
cd build
make -j 4 install
if: ${{ success() }}
- name: Run Tests
shell: bash -l {0}
run: |
cd build
ctest -j 4 --output-on-failure
if: ${{ success() }}
# - name: Compile
# run: |
# source /opt/intel/oneapi/setvars.sh
# printenv >> $GITHUB_ENV
# ifort test.f90 -o test_program
# mpiifort test2.f90 -o mpitest
# - name: "Test the code"
# run: |
# echo "Running the tests using the Intel oneapi fortran compiler"
# cd tests/test01
# mpirun -np 1 $HOME/work/reponame/reponame/mpitest
# ./$HOME/work/reponame/reponame/test_program

@ -1,26 +0,0 @@
name: SEACAS MSYS2 Build
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v3
- uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: git mingw-w64-x86_64-toolchain make mingw-w64-x86_64-hdf5 mingw-w64-x86_64-cgns mingw-w64-x86_64-netcdf mingw-w64-x86_64-zlib mingw-w64-x86_64-gcc-fortran mingw-w64-x86_64-gcc-libgfortran mingw-w64-x86_64-cmake mingw-w64-x86_64-fmt
- name: CI-Build
run: |
echo 'Running in MSYS2!'
./ci-msys2-build.sh

@ -1,34 +0,0 @@
name: Python Linting
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8
pip install pylint
- name: Lint exodus.py
run: |
flake8 --ignore E501,W503 packages/seacas/scripts/exodus3.in.py
- name: Lint exomerge.py
if: success() || failure()
run: |
flake8 --ignore E501,W503,W504 packages/seacas/scripts/exomerge3.py
- name: Lint exodus tests
if: success() || failure()
run: |
flake8 --ignore E501,E402,W503,W605 packages/seacas/scripts/tests

@ -1,19 +0,0 @@
name: Mark stale issues and pull requests
on:
schedule:
- cron: "30 1 * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'Stale issue message'
stale-pr-message: 'Stale pull request message'
stale-issue-label: 'no-issue-activity'
stale-pr-label: 'no-pr-activity'

@ -1,11 +0,0 @@
name: CI Formatting
on:
workflow_dispatch:
jobs:
trailing:
name: Find Trailing Whitespace
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: harupy/find-trailing-whitespace@master

4
.gitignore vendored

@ -0,0 +1,4 @@
/build/
/lib/
/include/
SeacasRepoVersion.txt

@ -1,2 +1,2 @@
netcdf-c >= 4.6.1
hdf5 >= 1.10.3
NetCDF-C >= 4.6.1
HDF5 >= 1.10.3

Loading…
Cancel
Save