Skip to content

x perm

x perm #52

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: clang
CXX: clang++
FC: gfortran
F77: gfortran
ARCH: Intel
COMPILATIONDIR: $HOME/tmp
steps:
- uses: actions/checkout@main
- name: Install
run: brew install gcc coreutils
- 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: Prepare
run: |
PREFIX=${{ steps.version.outputs.prefix }}
sudo mkdir -p "$PREFIX/gnu"
sudo ./etc/actions/release/macos/copy_fortran.sh "$PREFIX"
- name: Dependencies
run: |
PREFIX=${{ steps.version.outputs.prefix }}
sudo ./etc/actions/release/macos/compile_gsl.sh "$PREFIX" CC CXX
sudo ./etc/actions/release/macos/compile_hdf5.sh "$PREFIX" CC CXX
# - name: Test global script
# id: dmg
# run: |
# mkdir $HOME/tmp
# sudo ./bin/compile-version-MacOS develop $HOME/tmp generic-optim
# echo $DMG_NAME
# echo "file=$DMG_NAME" >>$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: 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