1- name : Linux - libMesh-1.5.1
1+ name : libMesh-1.5.1.deb (Ubuntu 20.04)
22
33# Controls when the action will run. Triggers the workflow on push or pull request
4- # events but only for the main branch
4+ # events on any branch but only when this file is modified.
55on :
6- # trigger on pushes to develop or main
76 push :
8- # branches:
9- # - main
10- # - master
11- # - develop
12- paths-ignore :
13- - " *.md"
14- - " *.rst"
7+ branches :
8+ paths :
9+ - " .github/workflows/libmesh_v1.5.1_ubuntu20.04.yml"
1510
16- # trigger on pull request to main or develop
1711 pull_request :
1812 branches :
19- - develop
20- - main
21- - master
22- paths-ignore :
23- - " *.md"
24- - " *.rst"
13+ paths :
14+ - " .github/workflows/libmesh_v1.5.1_ubuntu20.04.yml"
2515
2616 # trigger manually from GitHub Actions tab
2717 workflow_dispatch :
2818
2919jobs :
3020 build_libmesh :
3121 runs-on : ubuntu-20.04
22+ env :
23+ MY_WORK_PATH : ${{ github.workspace }}/work
3224 steps :
3325 - uses : actions/checkout@v2
3426
3527 # Print out some useful diagnostic info about the job/environment.
3628 - name : Diagnostic info
3729 run : |
38- echo "=============================================================";
39- echo "Run #${GITHUB_RUN_NUMBER}";
40- echo "Run ID: ${GITHUB_RUN_ID}";
41- echo "Testing: ${GITHUB_REPOSITORY}";
42- echo "Triggered by: ${GITHUB_EVENT_NAME}";
43- echo "Initiated by: ${GITHUB_ACTOR}";
30+ echo "GITHUB_WORKFLOW: ${GITHUB_WORKFLOW}"
31+ echo "Run #${GITHUB_RUN_NUMBER}"
32+ echo "Run ID: ${GITHUB_RUN_ID}"
33+ echo "Testing: ${GITHUB_REPOSITORY}"
34+ echo "Triggered by (GITHUB_EVENT_NAME) : ${GITHUB_EVENT_NAME}"
35+ echo "Initiated by (GITHUB_ACTOR) : ${GITHUB_ACTOR}"
4436
4537 # Update packages fromt apt repos.
4638 - name : Install APT dependencies
@@ -59,41 +51,38 @@ jobs:
5951 libeigen3-dev \
6052 libnlopt-dev \
6153 libadolc-dev \
62- doxygen graphviz rsync \
63- # texlive-latex-base dvi2ps ghostscript \
64- # python3.7 python3.7-dev libpython3.7
65-
66- - name : Setup environment
67- run : |
68- export NP=2
69- mkdir ${GITHUB_WORKSPACE}/work
54+ doxygen graphviz rsync
55+
56+ - name : Setup working directory
57+ run : mkdir ${MY_WORK_PATH}
7058
71- # Fetch/configure libMesh.
7259 # Note we currently have to use a modified version of the release with some updates to the libMesh
73- # build to allow for a non-provided, non-PETSc version of metis provided by the Ubuntu repositories.
74- - name : Fetch/configure libMesh
75- timeout-minutes : 10
76- run : |
77- cd ${GITHUB_WORKSPACE}/work
60+ # build to allow for a non-libMesh/contrib, non-PETSc version of metis provided by the Ubuntu repositories.
61+ - name : Fetch libMesh
62+ run : |
63+ cd ${MY_WORK_PATH}
7864 git clone -b v1.5.1_with_build_updates --single-branch https://github.com/jdeaton/libmesh.git
79- cd libmesh
65+
66+ - name : Configure libMesh
67+ run : |
68+ cd ${MY_WORK_PATH}/libmesh
8069 mkdir build
8170 cd build
8271 export PETSC_DIR=/usr/lib/petsc
8372 export SLEPC_DIR=/usr/lib/slepc
8473 ../configure --quiet --prefix=/usr/local --with-methods="opt devel dbg" --enable-cxx11-required --disable-metaphysicl --disable-examples --enable-triangle=yes --enable-tetgen=yes --disable-strict-lgpl --with-metis=/usr/lib/x86_64-linux-gnu --with-metis-include=/usr/include --with-nlopt-include=/usr/include --with-nlopt-lib=/usr/lib/x86_64-linux-gnu
85-
86- - name : Make libMesh
74+
75+ - name : Compile/install libMesh
8776 timeout-minutes : 180
8877 run : |
89- cd ${GITHUB_WORKSPACE}/work /libmesh/build
78+ cd ${MY_WORK_PATH} /libmesh/build
9079 make -j 1
9180 sudo make install
9281
93- - name : Package libMesh
82+ - name : Package libMesh into .deb
9483 run : |
9584 # Organize libMesh include/ and lib/ for packaging.
96- export PKG_DIR=${GITHUB_WORKSPACE}/ libmesh-1.5.1-1
85+ export PKG_DIR=libmesh-1.5.1-1
9786 export INST_DIR=${PKG_DIR}/usr/local
9887 mkdir ${PKG_DIR}
9988 mkdir ${PKG_DIR}/usr
@@ -113,5 +102,5 @@ jobs:
113102 - name : Upload libMesh package artifact
114103 uses : actions/upload-artifact@v2
115104 with :
116- name : libmesh-1.5.1-ubuntu20.04
105+ name : libmesh-1.5.1.deb -ubuntu20.04
117106 path : libmesh-1.5.1-1.deb
0 commit comments