fix #30
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
workflow_dispatch: # allows manual triggering | |
inputs: | |
create_release: | |
description: 'Create new release' | |
required: true | |
type: boolean | |
push: | |
branches: | |
- main | |
jobs: | |
build-release-ubuntu-2004: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
include: | |
- build: 'openblas' | |
defines: '-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS' | |
- build: 'cublas' | |
defines: '-DLLAMA_CUBLAS=ON' | |
steps: | |
- name: Clone | |
id: checkout | |
uses: actions/checkout@v1 | |
- name: Common dependencies | |
id: depends | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y build-essential libpython3-dev | |
python3 -m pip install cmake | |
python3 -m pip install torch --index-url https://download.pytorch.org/whl/cpu | |
python3 -m pip install transformers==4.33.3 tiktoken pygls pyinstaller | |
- name: OpenBLAS dependencies | |
id: depends_openblas | |
if: ${{ matrix.build == 'openblas' }} | |
run: | | |
sudo apt-get install -y libopenblas-dev | |
- uses: Jimver/[email protected] | |
id: cuda-toolkit | |
if: ${{ matrix.build == 'cublas' }} | |
with: | |
cuda: '11.8.0' | |
- name: Build backend server | |
id: cmake_build_backend_server | |
run: | | |
cmake -B build_backend_server -S . -DLLAMA_NATIVE=OFF ${{ matrix.defines }} | |
cmake --build build_backend_server --config Release | |
- name: Build lsp server | |
id: pyinstaller_build_lsp_server | |
run: | | |
pyinstaller flatline_lsp.py \ | |
--copy-metadata tqdm \ | |
--copy-metadata regex \ | |
--copy-metadata requests \ | |
--copy-metadata packaging \ | |
--copy-metadata filelock \ | |
--copy-metadata numpy \ | |
--copy-metadata tokenizers \ | |
--copy-metadata huggingface-hub \ | |
--copy-metadata safetensors \ | |
--copy-metadata pyyaml \ | |
--copy-metadata torch \ | |
--hidden-import=tiktoken_ext.openai_public \ | |
--hidden-import=tiktoken_ext \ | |
; | |
- name: Make package | |
id: make_package | |
run: | | |
mkdir -p ./dist/flatline_lsp/_internal/flatline/model_data | |
mkdir -p ./dist/flatline_lsp/_internal/flatline/backend_server | |
mv build_backend_server/bin/flatline-server ./dist/flatline_lsp/_internal/flatline/backend_server/flatline-server | |
mkdir -p ./dist/flatline_lsp/license | |
find build_backend_server/bin -name \*.LICENSE.txt | xargs -I{} cp {} ./dist/flatline_lsp/license/ | |
cd dist | |
zip -ry flatline_lsp_ubuntu2004_${{ matrix.build }}.zip flatline_lsp | |
create-release: | |
runs-on: ubuntu-latest | |
needs: [build-release-ubuntu-2004] | |
steps: | |
- name: Get Commit ID | |
id: get_commit_id | |
run: echo ::set-output name=commit_id::$(git rev-parse --short "$GITHUB_SHA") | |
- name: Create release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: v0.0.0_${{ steps.get_commit_id.outputs.commit_id }} | |
release_name: Release v0.0.0_${{ steps.get_commit_id.outputs.commit_id }} | |
body: | | |
Release test | |
draft: false | |
prerelease: true | |
- name: Upload release openblas asset | |
id: upload_release_openblas_asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./dist/flatline_lsp_ubuntu2004_openblas.zip | |
asset_name: flatline_lsp_ubuntu2004_openblas.zip | |
asset_content_type: application/zip | |
- name: Upload release cublas asset | |
id: upload_release_cublas_asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./dist/flatline_lsp_ubuntu2004_cublas.zip | |
asset_name: flatline_lsp_ubuntu2004_cublas.zip | |
asset_content_type: application/zip |