cpinte
released this
10 Oct 23:09
Release workflow (#68)
* add release workflow
* build hdf5 manually and link against that static lib
* update cache key to reflect whether it contains HDF5
* build static libs on macos too and link to those
* ensure GNU gcc is used, not clang
* dont error if linking fails (this is to avoid gfrotran, which already exsists)
* only need to link gcc and g++
* pin homebrew gcc-13 version
* use read writeable MCFOST_INSTALL path for any user
* fix gcc install
* gfortran issue
* single dependency action
* do release as part of main workflow
* xattr -dr com.apple.quarantine mcfost [skip ci]
* link statically with libgfortran and libquadmath
* command 'xattr -dr com.apple.quarantine mcfost' does nothing, needs to be
done by user once file is downloaded
* skip test step for releases. Master is protected so test should already
have passed
* use binary stored in artifact and upload to release
upload for linux and macos, always using ifort build
* only run release job on release
* debug file permissions
* fix bug caused by tar running as root
* separate tar fix into its own step
* remove debugging line
* link statically with libgfortran and libquadmath
* libstdc++ should come after libvoro++ when linking
some linkers will only search for functions from left to right in the
link line. This commit ensures the code compiles regardless of the linker
behaviour
see e.g.:
https://www.linuxtopia.org/online_books/an_introduction_to_gcc/gccintro_18.html
* fix incorrect artifact name
* always run test, even for release
* run mcfost -h to make sure it runs in a clean env
* remove redundant release check
* temporarily disable test
* chmod +x mcfost
* fix path
* fix
* just use gfortran for testing
* ./
* use actual os for release runner
* missing $
* correct filename
* Revert "just use gfortran for testing"
This reverts commit f406bf83e4cc01e6a30f26df30e704d79ce99815.
* Revert "temporarily disable test"
This reverts commit f6060c0aeccaba9589fe86d5f2a2176fda18aca8.
* fix filenames
* use march=native, unless it's a release
* nicer name for build+test action
* run CI for all PRs, not just on master
---------
Co-authored-by: Conrad Chan <[email protected]>
Co-authored-by: Conrad Chan <[email protected]>