New CI with Github Actions #7
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Full version of FreeFem, using MPICH installed by PETSc | |
name: Full version MPICH | |
on: | |
push: | |
branches: | |
- develop | |
- master | |
pull_request: | |
branches: | |
- develop | |
# For development phase | |
# on: | |
# workflow_dispatch: | |
jobs: | |
linux: | |
strategy: | |
fail-fast: false | |
matrix: | |
version: [22.04, 24.04] | |
cfg: | |
- {opts: --enable-debug} | |
- {opts: --enable-optim --enable-generic} | |
name: Ubuntu ${{ matrix.version }} with ${{ matrix.cfg.opts }} \ | |
- ${{ github.workflow }} | |
runs-on: ubuntu-${{ matrix.version }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install | |
run: | | |
sudo apt update | |
sudo apt install gcc g++ gfortran m4 patch git wget cmake \ | |
libhdf5-dev libgsl-dev flex bison autoconf automake \ | |
autotools-dev | |
- name: Configure | |
run: | | |
autoreconf -i | |
./configure --enable-download ${{ matrix.cfg.opts }} \ | |
--prefix="${HOME}/freefem" | |
./3rdparty/getall -a -o PETSc | |
- name: PETSc | |
run: | | |
cd 3rdparty/ff-petsc | |
make petsc-slepc | |
cd - | |
./reconfigure | |
- name: Build | |
run: make -j 4 | |
- name: Check | |
run: make check | |
- name: Install | |
run: make install | |
macos: | |
strategy: | |
fail-fast: false | |
matrix: | |
version: [13, 14] | |
cfg: | |
- {opts: --enable-debug} | |
- {opts: --enable-optim --enable-generic} | |
name: MacOS ${{ matrix.version }} with ${{ matrix.cfg.opts }} \ | |
- ${{ github.workflow }} | |
runs-on: macos-${{ matrix.version }} | |
env: | |
CC: clang | |
CXX: clang++ | |
FC: gfortran | |
F77: gfortran | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install | |
run: | | |
brew install gcc m4 git bison hdf5 cmake wget autoconf automake | |
- name: Symlink GCC & Fortran | |
run: ./etc/actions/macos/link_fortran.sh "$(uname -p)" | |
- name: Configure | |
run: | | |
autoreconf -i | |
./configure --enable-download ${{ matrix.cfg.opts }} \ | |
--prefix="${HOME}/freefem" | |
./3rdparty/getall -a -o PETSc | |
- name: PETSc | |
run: | | |
cd 3rdparty/ff-petsc | |
make petsc-slepc | |
cd - | |
./reconfigure | |
- name: Build | |
run: make -j 3 | |
- name: Check | |
run: make check | |
- name: Install | |
run: make install | |