Skip to content

Commit 29a06b1

Browse files
committed
CI: add macOS workflow with LLVM 9
1 parent b23440d commit 29a06b1

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

.github/workflows/macos.yml

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
name: macOS CI
3+
4+
on:
5+
push:
6+
branches: [main]
7+
pull_request:
8+
branches: [main]
9+
10+
jobs:
11+
ubuntu:
12+
name: "macOS (llvm: ${{matrix.llvm}}, build: ${{matrix.build}})"
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
llvm: [9]
17+
build: ['RelWithDebInfo', 'Debug']
18+
19+
runs-on: macos-latest
20+
env:
21+
CC: clang
22+
CXX: clang++
23+
24+
steps:
25+
- name: Checkout repository
26+
uses: actions/checkout@v3
27+
with:
28+
submodules: true
29+
30+
- name: Install dependencies
31+
# FIXME: we should not depend on GNU coreutils
32+
run: brew install coreutils ccache llvm@${{matrix.llvm}} z3
33+
34+
- name: Set environment
35+
id: env
36+
run: |
37+
echo "CCACHE_BASEDIR=$GITHUB_WORKSPACE" >> $GITHUB_ENV
38+
echo "CCACHE_DIR=$GITHUB_WORKSPACE/.ccache" >> $GITHUB_ENV
39+
echo "CCACHE_COMPRESS=true" >> $GITHUB_ENV
40+
echo "CCACHE_COMPRESSLEVEL=6" >> $GITHUB_ENV
41+
echo "CCACHE_MAXSIZE=400M" >> $GITHUB_ENV
42+
43+
echo "/usr/local/opt/ccache/libexec" >> $GITHUB_PATH
44+
45+
echo "timestamp=$(date -u +%Y-%m-%dT%H:%M:%S%z)" >> $GITHUB_OUTPUT
46+
47+
- name: Set up ccache
48+
uses: actions/cache@v3
49+
with:
50+
path: .ccache
51+
key: macos-${{matrix.llvm}}-${{matrix.build}}-${{steps.env.outputs.timestamp}}
52+
restore-keys: macos-${{matrix.llvm}}-${{matrix.build}}
53+
54+
- name: Build Symbiotic
55+
run: |
56+
./system-build.sh -j"$(sysctl -n hw.logicalcpu)" build-type=${{matrix.build}} \
57+
llvm-config="$(brew --prefix llvm@${{matrix.llvm}})/bin/llvm-config"
58+
59+
- name: Run tests
60+
run: make -C tests
61+
62+
- name: ccache statistics
63+
run: ccache -s

0 commit comments

Comments
 (0)