aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgi Gerganov <ggerganov@gmail.com>2023-03-12 22:08:24 +0200
committerGitHub <noreply@github.com>2023-03-12 22:08:24 +0200
commit2d555e5b42922cda6dfc0c3ff54df7b1ee4d0ff4 (patch)
tree166b0509358967227c29734fbf2e64f2534196fd
parent7c9e54e55e4106f84688245fb15207f6df917e12 (diff)
Add CI (#60)
-rw-r--r--.github/workflows/build.yml227
1 files changed, 227 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..c10e671
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,227 @@
+name: CI
+on: [push, pull_request]
+
+jobs:
+ ubuntu-latest:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone
+ uses: actions/checkout@v1
+
+ - name: Dependencies
+ run: |
+ sudo apt-get update
+ sudo apt-get install build-essential
+
+ - name: Build
+ run: |
+ make
+
+ macOS-latest:
+ runs-on: macOS-latest
+
+ steps:
+ - name: Clone
+ uses: actions/checkout@v1
+
+ - name: Dependencies
+ run: |
+ brew update
+
+ - name: Build
+ run: |
+ make
+
+# ubuntu-latest-gcc:
+# runs-on: ubuntu-latest
+#
+# strategy:
+# matrix:
+# build: [Debug, Release]
+#
+# steps:
+# - name: Clone
+# uses: actions/checkout@v1
+#
+# - name: Dependencies
+# run: |
+# sudo apt-get update
+# sudo apt-get install build-essential
+# sudo apt-get install cmake
+#
+# - name: Configure
+# run: cmake . -DCMAKE_BUILD_TYPE=${{ matrix.build }}
+#
+# - name: Build
+# run: |
+# make
+#
+# ubuntu-latest-clang:
+# runs-on: ubuntu-latest
+#
+# strategy:
+# matrix:
+# build: [Debug, Release]
+#
+# steps:
+# - name: Clone
+# uses: actions/checkout@v1
+#
+# - name: Dependencies
+# run: |
+# sudo apt-get update
+# sudo apt-get install build-essential
+# sudo apt-get install cmake
+#
+# - name: Configure
+# run: cmake . -DCMAKE_BUILD_TYPE=${{ matrix.build }} -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang
+#
+# - name: Build
+# run: |
+# make
+#
+# ubuntu-latest-gcc-sanitized:
+# runs-on: ubuntu-latest
+#
+# strategy:
+# matrix:
+# sanitizer: [ADDRESS, THREAD, UNDEFINED]
+#
+# steps:
+# - name: Clone
+# uses: actions/checkout@v1
+#
+# - name: Dependencies
+# run: |
+# sudo apt-get update
+# sudo apt-get install build-essential
+# sudo apt-get install cmake
+#
+# - name: Configure
+# run: cmake . -DCMAKE_BUILD_TYPE=Debug -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON
+#
+# - name: Build
+# run: |
+# make
+#
+# windows:
+# runs-on: windows-latest
+#
+# strategy:
+# matrix:
+# build: [Release]
+# arch: [Win32, x64]
+# include:
+# - arch: Win32
+# s2arc: x86
+# - arch: x64
+# s2arc: x64
+#
+# steps:
+# - name: Clone
+# uses: actions/checkout@v1
+#
+# - name: Add msbuild to PATH
+# uses: microsoft/setup-msbuild@v1
+#
+# - name: Configure
+# run: >
+# cmake -S . -B ./build -A ${{ matrix.arch }}
+# -DCMAKE_BUILD_TYPE=${{ matrix.build }}
+#
+# - name: Build
+# run: |
+# cd ./build
+# msbuild ALL_BUILD.vcxproj -t:build -p:configuration=${{ matrix.build }} -p:platform=${{ matrix.arch }}
+#
+# - name: Upload binaries
+# uses: actions/upload-artifact@v1
+# with:
+# name: llama-bin-${{ matrix.arch }}
+# path: build/bin/${{ matrix.build }}
+#
+# windows-blas:
+# runs-on: windows-latest
+#
+# strategy:
+# matrix:
+# build: [Release]
+# arch: [Win32, x64]
+# blas: [ON]
+# include:
+# - arch: Win32
+# obzip: https://github.com/xianyi/OpenBLAS/releases/download/v0.3.21/OpenBLAS-0.3.21-x86.zip
+# s2arc: x86
+# - arch: x64
+# obzip: https://github.com/xianyi/OpenBLAS/releases/download/v0.3.21/OpenBLAS-0.3.21-x64.zip
+# s2arc: x64
+#
+# steps:
+# - name: Clone
+# uses: actions/checkout@v1
+#
+# - name: Add msbuild to PATH
+# uses: microsoft/setup-msbuild@v1
+#
+# - name: Fetch OpenBLAS
+# if: matrix.blas == 'ON'
+# run: |
+# C:/msys64/usr/bin/wget.exe -qO blas.zip ${{ matrix.obzip }}
+# 7z x blas.zip -oblas -y
+# copy blas/include/cblas.h .
+# copy blas/include/openblas_config.h .
+# echo "blasdir=$env:GITHUB_WORKSPACE/blas" >> $env:GITHUB_ENV
+#
+# - name: Configure
+# run: >
+# cmake -S . -B ./build -A ${{ matrix.arch }}
+# -DCMAKE_BUILD_TYPE=${{ matrix.build }}
+# -DLLAMA_SUPPORT_OPENBLAS=${{ matrix.blas }}
+# -DCMAKE_LIBRARY_PATH="$env:blasdir/lib"
+#
+# - name: Build
+# run: |
+# cd ./build
+# msbuild ALL_BUILD.vcxproj -t:build -p:configuration=${{ matrix.build }} -p:platform=${{ matrix.arch }}
+#
+# - name: Copy libopenblas.dll
+# if: matrix.blas == 'ON'
+# run: copy "$env:blasdir/bin/libopenblas.dll" build/bin/${{ matrix.build }}
+#
+# - name: Upload binaries
+# if: matrix.blas == 'ON'
+# uses: actions/upload-artifact@v1
+# with:
+# name: llama-blas-bin-${{ matrix.arch }}
+# path: build/bin/${{ matrix.build }}
+#
+# emscripten:
+# runs-on: ubuntu-latest
+#
+# strategy:
+# matrix:
+# build: [Release]
+#
+# steps:
+# - name: Clone
+# uses: actions/checkout@v1
+#
+# - name: Dependencies
+# run: |
+# wget -q https://github.com/emscripten-core/emsdk/archive/master.tar.gz
+# tar -xvf master.tar.gz
+# emsdk-master/emsdk update
+# emsdk-master/emsdk install latest
+# emsdk-master/emsdk activate latest
+#
+# - name: Configure
+# run: echo "tmp"
+#
+# - name: Build
+# run: |
+# pushd emsdk-master
+# source ./emsdk_env.sh
+# popd
+# emcmake cmake . -DCMAKE_BUILD_TYPE=${{ matrix.build }}
+# make