Skip to content

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

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

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

name: Build CI [Linux]
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: CUDA Toolkit
uses: Jimver/[email protected]
id: cuda-toolkit
with:
cuda: '12.5.0'
- name: Python 3.12 Installation
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Get build dependencies
run: sudo apt install build-essential -y
- 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-linux-x86_64 ./test/arithmetic.zhv
./dist/zhivo-linux-x86_64 ./test/array.zhv
./dist/zhivo-linux-x86_64 ./test/digits.zhv
./dist/zhivo-linux-x86_64 ./test/error_handling.zhv
./dist/zhivo-linux-x86_64 ./test/flow.zhv
./dist/zhivo-linux-x86_64 ./test/func.zhv
./dist/zhivo-linux-x86_64 ./test/loop.zhv
./dist/zhivo-linux-x86_64 ./test/parallel.zhv
./dist/zhivo-linux-x86_64 ./test/regex.zhv
./dist/zhivo-linux-x86_64 ./test/test.zhv
./dist/zhivo-linux-x86_64 ./test/types.zhv
end=$(date +%s%3N)
echo "Elapsed time: $((end - start)) ms"
- name: Run test scripts (CUDA)
run: |
start=$(date +%s%3N)
./dist/zhivo-linux-x86_64-cuda ./test/arithmetic.zhv
./dist/zhivo-linux-x86_64-cuda ./test/array.zhv
./dist/zhivo-linux-x86_64-cuda ./test/digits.zhv
./dist/zhivo-linux-x86_64-cuda ./test/error_handling.zhv
./dist/zhivo-linux-x86_64-cuda ./test/flow.zhv
./dist/zhivo-linux-x86_64-cuda ./test/func.zhv
./dist/zhivo-linux-x86_64-cuda ./test/loop.zhv
./dist/zhivo-linux-x86_64-cuda ./test/parallel.zhv
./dist/zhivo-linux-x86_64-cuda ./test/regex.zhv
./dist/zhivo-linux-x86_64-cuda ./test/test.zhv
./dist/zhivo-linux-x86_64-cuda ./test/types.zhv
end=$(date +%s%3N)
echo "Elapsed time: $((end - start)) ms"
- name: Run examples (x86)
run: |
/usr/bin/time -v ./dist/zhivo-linux-x86_64 ./examples/hello.zhv
/usr/bin/time -v ./dist/zhivo-linux-x86_64 ./examples/99-beers.zhv
- name: Run examples (CUDA)
run: |
/usr/bin/time -v ./dist/zhivo-linux-x86_64-cuda ./examples/hello.zhv
/usr/bin/time -v ./dist/zhivo-linux-x86_64-cuda ./examples/99-beers.zhv