New CI with Github Actions #26
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 | |
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 -i | |
echo "Tests failed: " $(grep :test-result examples/*/*.trs | grep FAIL | wc -l) | |
./etc/actions/failed_tests_logs.sh | |
- name: Install | |
run: make install | |
macos: | |
strategy: | |
fail-fast: false | |
matrix: | |
version: [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 }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set environment | |
run: | | |
if [ "${{ matrix.version }}" -lt "15" ]; then | |
echo "CXX=g++ -Wl,-ld_classic -Wl,-commons,use_dylibs -Wno-unused-command-line-argument" >> $GITHUB_ENV | |
echo "LLVM_VERSION=15" >> $GITHUB_ENV | |
elif [ "${{ matrix.version }}" -eq "15" ]; then | |
echo "LLVM_VERSION=18" >> $GITHUB_ENV | |
fi | |
- name: Install | |
run: | | |
brew install gcc m4 git bison hdf5 cmake wget autoconf automake | |
brew remove llvm@$LLVM_VERSION | |
- name: Symlink GCC & Fortran | |
run: ./etc/actions/macos/link_fortran.sh "$(uname -p)" | |
- name: Setup tmate session | |
- uses: mxschmitt/action-tmate@v3 | |
- 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 -i | |
echo "Tests failed: " $(grep :test-result examples/*/*.trs | grep FAIL | wc -l) | |
./etc/actions/failed_tests_logs.sh | |
- name: Install | |
run: make install | |