|
|
@@ -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
|