New CI with Github Actions #2
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
name: Sequential version | |
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@main | |
- name: Install | |
run: | | |
sudo apt update | |
sudo apt install gcc g++ gfortran m4 patch \ | |
git libblas-dev liblapack-dev libhdf5-dev libgsl-dev flex bison \ | |
wget cmake autoconf automake autotools-dev | |
- name: Configure | |
run: | | |
autoreconf -i | |
./configure --enable-download --without-mpi ${{ matrix.cfg.opts }} --prefix="${HOME}/freefem" | |
./3rdparty/getall -a -o ARPACK,METIS,Scotch,SuiteSparse,SuperLU,mmg,bemtool,Boost,libpthread-google,TetGen,Ipopt,NLopt,freeYams,FFTW,Gmm++,MMG3D,mshmet,htool | |
- 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, 15] | |
cfg: | |
- {opts: --enable-debug} | |
- {opts: --enable-optim --enable-generic} | |
name: MacOS ${{ matrix.version }} with ${{ matrix.cfg.opts }} - ${{ github.worflow }} | |
runs-on: macos-${{ matrix.version }} | |
steps: | |
- uses: actions/checkout@main | |
- name: Install | |
run: brew install gcc m4 git flex bison suitesparse 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 --without-mpi ${{ matrix.cfg.opts }} --prefix="${HOME}/freefem" | |
./3rdparty/getall -a -o ARPACK,METIS,Scotch,SuiteSparse,SuperLU,mmg,bemtool,Boost,libpthread-google,TetGen,Ipopt,NLopt,freeYams,FFTW,Gmm++,MMG3D,mshmet,htool | |
- name: Build | |
run: make -j 3 | |
- name: Check | |
run: make check | |
- name: Install | |
run: make install | |
windows: | |
strategy: | |
fail-fast: false | |
matrix: | |
cfg: | |
- {opts: --enable-debug} | |
- {opts: --enable-optim --enable-generic} | |
name: Windows Server 2022 with ${{ matrix.cfg.opts }} - ${{github.workflow}} | |
runs-on: windows-2022 | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: msys2/setup-msys2@v2 | |
with: | |
update: true | |
install: >- | |
mingw-w64-x86_64-gcc-fortran | |
mingw-w64-x86_64-toolchain | |
mingw-w64-x86_64-autotools | |
make | |
m4 | |
patch | |
git | |
flex | |
bison | |
unzip | |
mingw-w64-x86_64-openblas | |
mingw-w64-x86_64-hdf5 | |
mingw-w64-x86_64-gsl | |
pkg-config | |
pkgfile | |
tar | |
mingw-w64-x86_64-cmake | |
- uses: actions/checkout@v4 | |
- name: Configure | |
run: | | |
autoreconf -i | |
./configure --enable-download --without-mpi ${{ matrix.cfg.opts }} --prefix="${HOME}/freefem" | |
./3rdparty/getall -a -o ARPACK,METIS,Scotch,SuiteSparse,SuperLU,mmg,bemtool,Boost,libpthread-google,TetGen,Ipopt,NLopt,freeYams,FFTW,Gmm++,MMG3D,mshmet,htool | |
- name: Build | |
run: make -j 4 | |
- name: Check | |
run: make check |