Skip to content

Ues SCALE library v5.5.3 in Github Actions #203

Ues SCALE library v5.5.3 in Github Actions

Ues SCALE library v5.5.3 in Github Actions #203

Workflow file for this run

name: build_FE-Project
on:
pull_request:
types: [opened, synchronize]
#push:
# branches:
# - feature/ci_*
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout FE-project repository
uses: actions/checkout@v1
- name: Install Fortran compiler & NetCDF & OpenMPI & lapack & openssh
run: |
sudo apt-get update
echo "Update information of package list.."
sudo apt-get update
echo "Install Fortran compiler .."
sudo apt-get install -y gfortran
echo "Install NetCDF library .."
sudo apt-get install -y libnetcdf-dev libnetcdff-dev
echo "Install OpenMPI library .."
sudo apt-get install -y openmpi-bin libopenmpi-dev
echo "Install lapack .."
sudo apt-get install -y libopenblas-dev liblapack-dev
echo "Install openssh .."
sudo apt-get install -y openssh-client
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
config: |
Host scalelib_host
HostName ${{ secrets.SCALELIB_SERVER_HOST }}
User ${{ secrets.SCALELIB_SERVER_USER }}
IdentityFile ~/.ssh/id_rsa
- name: Install SCALE library
run: |
cd ${GITHUB_WORKSPACE}/..
scp scalelib_host:FE-Project_GitActions/scalelib_ubuntu_latest.zip .
unzip scalelib_ubuntu_latest.zip && mv scalelib_ubuntu_latest scale
- name: Build FElib
run: |
echo "Build FE library .."
export SCALE_FE_SYS=Linux64-gnu-ompi
export SCALE=${GITHUB_WORKSPACE}/../scale
make -j 2 -C FElib/src
- name: unit test for common
run: |
echo "Perform unit tests .."
export SCALE_FE_SYS=Linux64-gnu-ompi
export SCALE=${GITHUB_WORKSPACE}/../scale
cd FElib/test/common
make -C linkedlist
make -C time_manager
make -C sparsemat
make -C timeint_rk
- name: unit test for FE
run: |
echo "Perform unit tests .."
export SCALE_FE_SYS=Linux64-gnu-ompi
export SCALE=${GITHUB_WORKSPACE}/../scale
cd FElib/test/FE
make -C polynominal
make -C mesh_linedom1d
make -C mesh_rectdom2d_quadrilateral
make -C mesh_cubedsphere2d
make -C mesh_cubedom3d_hexahedral
make -C mesh_cubedsphere3d
make -C field_linedom1d
make -C field_rectdom2d_quadrilateral
make -C field_cubedspheredom2d
make -C field_cubedom3d_hexahedral
make -C field_cubedspheredom3d
- name: unit test for framework
run: |
echo "Perform unit tests .."
export SCALE_FE_SYS=Linux64-gnu-ompi
export SCALE=${GITHUB_WORKSPACE}/../scale
cd FElib/test/framework
make -C model_framework
- name: samples
run: |
echo "Build samples .."
export SCALE_FE_SYS=Linux64-gnu-ompi
export SCALE=${GITHUB_WORKSPACE}/../scale
cd sample/
make -C advect1d
make -C advect1d_fvm
make -C advdiff1d
make -C advect2d
make -C advect2dGlobal
make -C advect2d_fvm
make -C advect3d
make -C advect3dGlobal
make -C advect3d_hevi
make -C euler3d_hevi
make -C eigen_analysis
- name: Build model
run: |
echo "Build models .."
cd model/
export SCALE_FE_SYS=Linux64-gnu-ompi
export SCALE=${GITHUB_WORKSPACE}/../scale
echo "Build global shallow water model"
make -C global_shallow_water/src
echo "Build 2D nonhydrostatic atmospheric model"
make -C atm_nonhydro2d/src
echo "Build 3D nonhydrostatic atmospheric model"
make -C atm_nonhydro3d/src
echo "Build 3D nonhydrostatic atmospheric model / utils"
make -C atm_nonhydro3d/util/regrid_tool