forked from fricas/fricas
-
Notifications
You must be signed in to change notification settings - Fork 0
59 lines (48 loc) · 1.96 KB
/
macOS_Julia_sbcl.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
name: FriCAS CI on macOS (with Julia support - SBCL based)
on: [push, pull_request]
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [macos-13, macos-latest]
runs-on: ${{ matrix.os }}
timeout-minutes: 45
env:
SBCL_VER: ${{ matrix.os == 'macos-13' && '2.2.9' || '2.4.0' }}
ARCH: ${{ matrix.os == 'macos-13' && 'x86-64' || 'arm64' }}
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@latest
- name: download and install prerequities
run: |
wget https://downloads.sourceforge.net/project/sbcl/sbcl/${SBCL_VER}/sbcl-${SBCL_VER}-${ARCH}-darwin-binary.tar.bz2
tar xvf sbcl-${SBCL_VER}-${ARCH}-darwin-binary.tar.bz2
cd sbcl-${SBCL_VER}-${ARCH}-darwin && sudo ./install.sh
brew install sphinx-doc
- name: install Julia libraries
run: |
julia -e "import Pkg;Pkg.add(\"Nemo\");Pkg.add(\"Suppressor\");Pkg.add(\"SpecialFunctions\")"
- name: configure
run: |
mkdir ../build && cd ../build
../jlfricas/configure --with-lisp=sbcl --with-gmp=`brew --prefix` --enable-julia --enable-mathlink || cat config.log
- name: make
run: |
cd ../build && make all htmldoc
- name: make check
run: cd ../build && make check -j4
- name: Create artifact archives
run: |
cd ../build
test "$GITHUB_REF_TYPE" != "tag" && rm -r target/*/src
make dist-macos
cp -v `brew list gmp | grep libgmp.10.dylib` FriCAS.app/Contents/Resources/usr/local/lib/fricas/target/*/lib/
## reduce chance of error caused by "hdiutil: Resource busy"
make dist-macos-dmg || make dist-macos-dmg
mv FriCAS.dmg ../jlfricas/FriCAS-macOS-julia-${ARCH}-${{ github.sha }}.dmg
- name: Upload macOS binary
uses: actions/upload-artifact@v4
with:
name: FriCAS-macOS-julia-${{ env.ARCH }}-binary
path: FriCAS-macOS-julia-${{ env.ARCH }}-${{ github.sha }}.dmg