Skip to content

MacOS release

MacOS release #17

Workflow file for this run

name: Release MacOS
on: ['push']
# workflow_run:
# workflows: ['Release']
# types:
# - completed
jobs:
macos:
name: DMG release
runs-on: macos-latest
env:
CC: gcc
CXX: g++
FC: gfortran
F77: gfortran
ARCH: Intel
steps:
- uses: actions/checkout@main
- name: Install
run: brew install gcc m4 git flex bison suitesparse hdf5 cmake wget autoconf automake freeglut
- name: Symlink GCC & Fortran
run: ./etc/actions/macos/link_fortran.sh
- name: Version
id: version
run: |
VERSION=$(grep AC_INIT configure.ac | cut -d"," -f2 | cut -d"[" -f2 | cut -d"]" -f1)
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "prefix=/Applications/FreeFem++.app/Contents/ff-$VERSION" >> $GITHUB_OUTPUT
echo "dmg_dir=FreeFEM-$VERSION-$ARCH" >> $GITHUB_OUTPUT
- name: Create paths
run: |
PREFIX=${{ steps.version.outputs.prefix }}
sudo mkdir -p "$PREFIX"
- name: Fortran copy
run: |
PREFIX=${{ steps.version.outputs.prefix }}
sudo ./etc/actions/release/macos/copy_fortran.sh "$PREFIX"
# - name: Configure
# run: |
# PREFIX=${{ steps.version.outputs.prefix }}
# autoreconf -i
# ./configure --enable-optim --enable-generic --enable-download --enable-m64 \
# --prefix="$PREFIX" \
# "CXXFLAGS=-Wno-undefined-var-template" \
# "FLIBS=-L"$PREFIX/gnu" -lgfortran -lquadmath"
# ./3rdparty/getall -a -o PETSc
- name: Configure
run: |
PREFIX=${{ steps.version.outputs.prefix }}
autoreconf -i
./configure --enable-m64 \
--prefix="$PREFIX" \
"CXXFLAGS=-Wno-undefined-var-template" \
"FLIBS=-L"$PREFIX/gnu" -lgfortran -lquadmath"
# - name: PETSc
# run: |
# cd 3rdparty/ff-petsc
# make petsc-slepc SUDO=sudo
# cd -
# ./reconfigure
- name: Build
run: make -j2
- name: Check
continue-on-error: true
run: make check
- name: Install
run: |
PREFIX=${{ steps.version.outputs.prefix }}
mkdir -p "$HOME/pkg/$PREFIX"
rsync -a "$PREFIX/." "$HOME/pkg/$PREFIX/."
sudo make install DESTDIR="$HOME/pkg"
- name: Fix gfotran lib
run: |
PREFIX=${{ steps.version.outputs.prefix }}
sudo ./etc/actions/release/macos/fix_fortran.sh "$HOME/pkg" "$PREFIX"
- name: Create DMG
id: dmg
run: |
DMG_DIR=${{ steps.version.outputs.dmg_dir }}
sudo ./etc/actions/release/macos/create_dmg.sh "$HOME/pkg" "$DMG_DIR"
echo "file=$DMG_DIR.dmg" >>$GITHUB_OUTPUT
- name: Upload release
uses: AButler/[email protected]
with:
files: ${{ steps.dmg.outputs.file }}
repo-token: ${{ secrets.GITHUB_TOKEN }}
release-tag: v${{ steps.version.outputs.version }}-testActions