Skip to content

Build script for different clang++ LLVM compiler on MacOS. #15

Build script for different clang++ LLVM compiler on MacOS.

Build script for different clang++ LLVM compiler on MacOS. #15

name: Build CI [Darwin]
on:
push:
branches:
- main
jobs:
build:
strategy:
matrix:
os: [ macos-12, macos-13, macos-14 ]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install Python3 and LLVM (with OpenMP support)
run: |
brew update
brew upgrade
brew install [email protected] libomp
export PATH=/usr/local/opt/[email protected]/bin:$PATH
brew reinstall llvm
- name: Build Zhivo
run: |
python build.py
- name: Build verification
run: |
ls dist -ral
find dist | sort | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-\1/"
- name: Run test scripts (x86)
run: |
start=$(date +%s%3N)
./dist/zhivo-darwin-arm64 ./test/arithmetic.zhv
./dist/zhivo-darwin-arm64 ./test/array.zhv
./dist/zhivo-darwin-arm64 ./test/digits.zhv
./dist/zhivo-darwin-arm64 ./test/error_handling.zhv
./dist/zhivo-darwin-arm64 ./test/flow.zhv
./dist/zhivo-darwin-arm64 ./test/func.zhv
./dist/zhivo-darwin-arm64 ./test/loop.zhv
./dist/zhivo-darwin-arm64 ./test/parallel.zhv
./dist/zhivo-darwin-arm64 ./test/regex.zhv
./dist/zhivo-darwin-arm64 ./test/test.zhv
./dist/zhivo-darwin-arm64 ./test/types.zhv
end=$(date +%s%3N)
echo "Elapsed time: $((end - start)) ms"
- name: Run examples (x86)
run: |
/usr/bin/time -v ./dist/zhivo-darwin-arm64 ./examples/hello.zhv
/usr/bin/time -v ./dist/zhivo-darwin-arm64 ./examples/99-beers.zhv