Skip to content

Feature/jobshell fugaku #218

Feature/jobshell fugaku

Feature/jobshell fugaku #218

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
env:
testdirs: linkedlist time_manager sparsemat timeint_rk
run: |
echo "Perform unit tests .."
export SCALE_FE_SYS=Linux64-gnu-ompi
export SCALE=${GITHUB_WORKSPACE}/../scale
cd FElib/test/common
for testdir in ${testdirs}; do
make -C ${testdir} && make -C ${testdir} run
done
- name: unit test for FE
env:
testdirs: polynominal mesh_linedom1d mesh_rectdom2d_quadrilateral mesh_cubedsphere2d mesh_cubedom3d_hexahedral mesh_cubedsphere3d field_linedom1d field_rectdom2d_quadrilateral field_cubedspheredom2d field_cubedom3d_hexahedral field_cubedspheredom3d
run: |
echo "Perform unit tests .."
export SCALE_FE_SYS=Linux64-gnu-ompi
export SCALE=${GITHUB_WORKSPACE}/../scale
cd FElib/test/FE
for testdir in ${testdirs}; do
make -C ${testdir} && make -C ${testdir} run
done
- name: unit test for model framework
env:
testdirs: model_framework
run: |
echo "Perform unit tests .."
export SCALE_FE_SYS=Linux64-gnu-ompi
export SCALE=${GITHUB_WORKSPACE}/../scale
cd FElib/test/framework
for testdir in ${testdirs}; do
make -C ${testdir} && make -C ${testdir} run
done
- 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