mirror of
https://github.com/nomic-ai/gpt4all
synced 2024-11-02 09:40:42 +00:00
refactor circle ci config
This commit is contained in:
parent
f48eb1a0d7
commit
48c5ab10b9
177
.circleci/config.yml
Normal file
177
.circleci/config.yml
Normal file
@ -0,0 +1,177 @@
|
||||
version: 2.1
|
||||
orbs:
|
||||
win: circleci/windows@5.0
|
||||
python: circleci/python@1.2
|
||||
|
||||
jobs:
|
||||
build-linux:
|
||||
docker:
|
||||
- image: circleci/python:3.8
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Install dependencies
|
||||
command: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y cmake build-essential
|
||||
pip install setuptools wheel cmake
|
||||
- run:
|
||||
name: Build C library
|
||||
command: |
|
||||
git submodule init
|
||||
git submodule update
|
||||
cd gpt4all-backend/llmodel
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
cmake --build . --parallel
|
||||
- run:
|
||||
name: Build wheel
|
||||
command: |
|
||||
cd gpt4all-bindings/python/
|
||||
python setup.py bdist_wheel --plat-name=manylinux1_x86_64
|
||||
- persist_to_workspace:
|
||||
root: gpt4all-bindings/python/dist
|
||||
paths:
|
||||
- "*.whl"
|
||||
|
||||
build-macos:
|
||||
macos:
|
||||
xcode: "14.2.0"
|
||||
resource_class: macos.m1.large.gen1
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Install dependencies
|
||||
command: |
|
||||
brew install cmake
|
||||
pip install setuptools wheel cmake
|
||||
- run:
|
||||
name: Build C library
|
||||
command: |
|
||||
git submodule init
|
||||
git submodule update
|
||||
cd gpt4all-backend/llmodel
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
|
||||
cmake --build . --parallel
|
||||
- run:
|
||||
name: Build wheel
|
||||
command: |
|
||||
cd gpt4all-bindings/python
|
||||
python setup.py bdist_wheel --plat-name=macosx_10_9_universal2
|
||||
- persist_to_workspace:
|
||||
root: gpt4all-bindings/python/dist
|
||||
paths:
|
||||
- "*.whl"
|
||||
|
||||
# build-linux:
|
||||
# docker:
|
||||
# - image: circleci/python:3.8
|
||||
# steps:
|
||||
# - checkout
|
||||
# - run:
|
||||
# name: Install dependencies
|
||||
# command: |
|
||||
# sudo apt-get update
|
||||
# sudo apt-get install -y cmake build-essential
|
||||
# pip install setuptools wheel cmake
|
||||
# - run:
|
||||
# name: Install MingW
|
||||
# command: sudo apt-get install -y mingw-w64
|
||||
# - run:
|
||||
# name: Build C library
|
||||
# command: |
|
||||
# git submodule init
|
||||
# git submodule update
|
||||
# cd llmodel
|
||||
# mkdir build
|
||||
# cd build
|
||||
# cmake \
|
||||
# -DCMAKE_SYSTEM_NAME=Windows \
|
||||
# -DCMAKE_C_COMPILER=x86_64-w64-mingw32-gcc \
|
||||
# -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ \
|
||||
# -DCMAKE_EXECUTABLE_SUFFIX=".exe" \
|
||||
# -DCMAKE_SHARED_LIBRARY_SUFFIX=".dll" \
|
||||
# ..
|
||||
# cmake --build . --parallel
|
||||
# - run:
|
||||
# name: Build wheel
|
||||
# command: |
|
||||
# cd bindings/python/
|
||||
# python setup.py bdist_wheel --plat-name=manylinux1_x86_64
|
||||
# - persist_to_workspace:
|
||||
# root: bindings/python/dist
|
||||
# paths:
|
||||
# - "*.whl"
|
||||
|
||||
build-windows:
|
||||
executor:
|
||||
name: win/default
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Install MinGW64
|
||||
command: choco install -y mingw --force --no-progress
|
||||
- run:
|
||||
name: Add MinGW64 to PATH
|
||||
command: $env:Path += ";C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin"
|
||||
- run:
|
||||
name: Install dependencies
|
||||
command: choco install -y cmake --installargs 'ADD_CMAKE_TO_PATH=System'
|
||||
- run:
|
||||
name: Install Python dependencies
|
||||
command: pip install setuptools wheel cmake
|
||||
- run:
|
||||
name: Build C library
|
||||
command: |
|
||||
git submodule init
|
||||
git submodule update
|
||||
cd gpt4all-backend/llmodel
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -G "MinGW Makefiles" ..
|
||||
cmake --build . --parallel
|
||||
- run:
|
||||
name: Build wheel
|
||||
command: |
|
||||
cd gpt4all-bindings/python
|
||||
python setup.py bdist_wheel --plat-name=win_amd64
|
||||
- persist_to_workspace:
|
||||
root: gpt4all-bindings/python/dist
|
||||
paths:
|
||||
- "*.whl"
|
||||
|
||||
store-and-upload-wheels:
|
||||
docker:
|
||||
- image: circleci/python:3.8
|
||||
steps:
|
||||
- setup_remote_docker
|
||||
- attach_workspace:
|
||||
at: /tmp/workspace
|
||||
- run:
|
||||
name: Install dependencies
|
||||
command: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y cmake build-essential
|
||||
pip install setuptools wheel twine
|
||||
# - run:
|
||||
# name: Upload Python package
|
||||
# command: |
|
||||
# twine upload /tmp/workspace/*.whl --username __token__ --password $PYPI_CRED
|
||||
- store_artifacts:
|
||||
path: /tmp/workspace
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
build-deploy:
|
||||
jobs:
|
||||
#- build-linux
|
||||
#- build-macos
|
||||
- build-windows
|
||||
- store-and-upload-wheels:
|
||||
requires:
|
||||
- build-windows
|
||||
# - build-linux
|
||||
# - build-macos
|
@ -38,4 +38,3 @@ messages = [{"role": "user", "content": "Name 3 colors"}]
|
||||
gptj.chat_completion(messages)
|
||||
|
||||
```
|
||||
|
||||
|
@ -7,7 +7,7 @@ import re
|
||||
import sys
|
||||
|
||||
# TODO: provide a config file to make this more robust
|
||||
LLMODEL_PATH = os.path.join("llmodel_DO_NOT_MODIFY", "build")
|
||||
LLMODEL_PATH = os.path.join("llmodel_DO_NOT_MODIFY", "build").replace("\\", "\\\\")
|
||||
|
||||
def load_llmodel_library():
|
||||
system = platform.system()
|
||||
|
Loading…
Reference in New Issue
Block a user