mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2025-06-01 20:06:29 +00:00
ci: use LLVM Clang 19 on macOS and Ubuntu (#3500)
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
This commit is contained in:
parent
b1cb46ec2a
commit
d8c04cead8
@ -18,6 +18,68 @@ parameters:
|
|||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
job-macos-executor: &job-macos-executor
|
||||||
|
macos:
|
||||||
|
xcode: 16.2.0
|
||||||
|
resource_class: macos.m1.medium.gen1
|
||||||
|
environment:
|
||||||
|
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||||
|
|
||||||
|
job-macos-install-deps: &job-macos-install-deps
|
||||||
|
name: Install basic macOS build dependencies
|
||||||
|
command: brew install ccache llvm wget
|
||||||
|
|
||||||
|
job-linux-install-chat-deps: &job-linux-install-chat-deps
|
||||||
|
name: Install Linux build dependencies for gpt4all-chat
|
||||||
|
command: |
|
||||||
|
# Prevent apt-get from interactively prompting for service restart
|
||||||
|
echo "\$nrconf{restart} = 'l'" | sudo tee /etc/needrestart/conf.d/90-autorestart.conf >/dev/null
|
||||||
|
wget -qO- 'https://apt.llvm.org/llvm-snapshot.gpg.key' | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc >/dev/null
|
||||||
|
sudo add-apt-repository -yn 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main'
|
||||||
|
wget -qO- "https://packages.lunarg.com/lunarg-signing-key-pub.asc" \
|
||||||
|
| sudo tee /etc/apt/trusted.gpg.d/lunarg.asc >/dev/null
|
||||||
|
wget -qO- "https://packages.lunarg.com/vulkan/1.3.290/lunarg-vulkan-1.3.290-jammy.list" \
|
||||||
|
| sudo tee /etc/apt/sources.list.d/lunarg-vulkan-1.3.290-jammy.list >/dev/null
|
||||||
|
wget "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb"
|
||||||
|
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
||||||
|
packages=(
|
||||||
|
bison build-essential ccache clang-19 clang-tools-19 cuda-compiler-11-8 flex gperf libcublas-dev-11-8
|
||||||
|
libfontconfig1 libfreetype6 libgl1-mesa-dev libmysqlclient21 libnvidia-compute-550-server libodbc2 libpq5
|
||||||
|
libstdc++-12-dev libwayland-dev libx11-6 libx11-xcb1 libxcb-cursor0 libxcb-glx0 libxcb-icccm4 libxcb-image0
|
||||||
|
libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-util1
|
||||||
|
libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 libxcb1 libxext6 libxfixes3 libxi6 libxkbcommon-dev libxkbcommon-x11-0
|
||||||
|
libxrender1 patchelf python3 vulkan-sdk python3 vulkan-sdk
|
||||||
|
)
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y "${packages[@]}"
|
||||||
|
wget "https://qt.mirror.constant.com/archive/online_installers/4.8/qt-online-installer-linux-x64-4.8.1.run"
|
||||||
|
chmod +x qt-online-installer-linux-x64-4.8.1.run
|
||||||
|
./qt-online-installer-linux-x64-4.8.1.run --no-force-installations --no-default-installations \
|
||||||
|
--no-size-checking --default-answer --accept-licenses --confirm-command --accept-obligations \
|
||||||
|
--email "$QT_EMAIL" --password "$QT_PASSWORD" install \
|
||||||
|
qt.tools.cmake qt.tools.ifw.48 qt.tools.ninja qt.qt6.682.linux_gcc_64 qt.qt6.682.addons.qt5compat \
|
||||||
|
qt.qt6.682.debug_info extensions.qtpdf.682 qt.qt6.682.addons.qthttpserver
|
||||||
|
|
||||||
|
job-linux-install-backend-deps: &job-linux-install-backend-deps
|
||||||
|
name: Install Linux build dependencies for gpt4all-backend
|
||||||
|
command: |
|
||||||
|
wget -qO- 'https://apt.llvm.org/llvm-snapshot.gpg.key' | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc >/dev/null
|
||||||
|
sudo add-apt-repository -yn 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-19 main'
|
||||||
|
wget -qO- "https://packages.lunarg.com/lunarg-signing-key-pub.asc" \
|
||||||
|
| sudo tee /etc/apt/trusted.gpg.d/lunarg.asc >/dev/null
|
||||||
|
wget -qO- "https://packages.lunarg.com/vulkan/1.3.290/lunarg-vulkan-1.3.290-jammy.list" \
|
||||||
|
| sudo tee /etc/apt/sources.list.d/lunarg-vulkan-1.3.290-jammy.list >/dev/null
|
||||||
|
wget "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb"
|
||||||
|
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
||||||
|
packages=(
|
||||||
|
build-essential ccache clang-19 clang-tools-19 cuda-compiler-11-8 libcublas-dev-11-8
|
||||||
|
libnvidia-compute-550-server libstdc++-12-dev vulkan-sdk
|
||||||
|
)
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y "${packages[@]}"
|
||||||
|
pyenv global 3.13.2
|
||||||
|
pip install setuptools wheel cmake ninja
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# work around CircleCI-Public/path-filtering-orb#20
|
# work around CircleCI-Public/path-filtering-orb#20
|
||||||
noop:
|
noop:
|
||||||
@ -34,8 +96,7 @@ jobs:
|
|||||||
name: Verify that commit is on the main branch
|
name: Verify that commit is on the main branch
|
||||||
command: git merge-base --is-ancestor HEAD main
|
command: git merge-base --is-ancestor HEAD main
|
||||||
build-offline-chat-installer-macos:
|
build-offline-chat-installer-macos:
|
||||||
macos:
|
<<: *job-macos-executor
|
||||||
xcode: 15.4.0
|
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
@ -46,12 +107,11 @@ jobs:
|
|||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- ccache-gpt4all-macos-
|
- ccache-gpt4all-macos-
|
||||||
|
- run:
|
||||||
|
<<: *job-macos-install-deps
|
||||||
- run:
|
- run:
|
||||||
name: Install Rosetta
|
name: Install Rosetta
|
||||||
command: softwareupdate --install-rosetta --agree-to-license # needed for QtIFW
|
command: softwareupdate --install-rosetta --agree-to-license # needed for QtIFW
|
||||||
- run:
|
|
||||||
name: Install dependencies
|
|
||||||
command: brew install ccache wget
|
|
||||||
- run:
|
- run:
|
||||||
name: Installing Qt
|
name: Installing Qt
|
||||||
command: |
|
command: |
|
||||||
@ -86,6 +146,9 @@ jobs:
|
|||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_PREFIX_PATH:PATH=~/Qt/6.8.2/macos/lib/cmake \
|
-DCMAKE_PREFIX_PATH:PATH=~/Qt/6.8.2/macos/lib/cmake \
|
||||||
-DCMAKE_MAKE_PROGRAM:FILEPATH=~/Qt/Tools/Ninja/ninja \
|
-DCMAKE_MAKE_PROGRAM:FILEPATH=~/Qt/Tools/Ninja/ninja \
|
||||||
|
-DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm/bin/clang \
|
||||||
|
-DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++ \
|
||||||
|
-DCMAKE_RANLIB=/usr/bin/ranlib \
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||||
-DBUILD_UNIVERSAL=ON \
|
-DBUILD_UNIVERSAL=ON \
|
||||||
@ -128,8 +191,7 @@ jobs:
|
|||||||
- upload
|
- upload
|
||||||
|
|
||||||
sign-offline-chat-installer-macos:
|
sign-offline-chat-installer-macos:
|
||||||
macos:
|
<<: *job-macos-executor
|
||||||
xcode: 15.4.0
|
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
# attach to a workspace containing unsigned dmg
|
# attach to a workspace containing unsigned dmg
|
||||||
@ -163,8 +225,7 @@ jobs:
|
|||||||
- upload
|
- upload
|
||||||
|
|
||||||
notarize-offline-chat-installer-macos:
|
notarize-offline-chat-installer-macos:
|
||||||
macos:
|
<<: *job-macos-executor
|
||||||
xcode: 15.4.0
|
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- attach_workspace:
|
- attach_workspace:
|
||||||
@ -203,8 +264,7 @@ jobs:
|
|||||||
hdiutil detach /Volumes/gpt4all-installer-darwin
|
hdiutil detach /Volumes/gpt4all-installer-darwin
|
||||||
|
|
||||||
build-online-chat-installer-macos:
|
build-online-chat-installer-macos:
|
||||||
macos:
|
<<: *job-macos-executor
|
||||||
xcode: 15.4.0
|
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
@ -215,12 +275,11 @@ jobs:
|
|||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- ccache-gpt4all-macos-
|
- ccache-gpt4all-macos-
|
||||||
|
- run:
|
||||||
|
<<: *job-macos-install-deps
|
||||||
- run:
|
- run:
|
||||||
name: Install Rosetta
|
name: Install Rosetta
|
||||||
command: softwareupdate --install-rosetta --agree-to-license # needed for QtIFW
|
command: softwareupdate --install-rosetta --agree-to-license # needed for QtIFW
|
||||||
- run:
|
|
||||||
name: Install dependencies
|
|
||||||
command: brew install ccache wget
|
|
||||||
- run:
|
- run:
|
||||||
name: Installing Qt
|
name: Installing Qt
|
||||||
command: |
|
command: |
|
||||||
@ -255,6 +314,9 @@ jobs:
|
|||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_PREFIX_PATH:PATH=~/Qt/6.8.2/macos/lib/cmake \
|
-DCMAKE_PREFIX_PATH:PATH=~/Qt/6.8.2/macos/lib/cmake \
|
||||||
-DCMAKE_MAKE_PROGRAM:FILEPATH=~/Qt/Tools/Ninja/ninja \
|
-DCMAKE_MAKE_PROGRAM:FILEPATH=~/Qt/Tools/Ninja/ninja \
|
||||||
|
-DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm/bin/clang \
|
||||||
|
-DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++ \
|
||||||
|
-DCMAKE_RANLIB=/usr/bin/ranlib \
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||||
-DBUILD_UNIVERSAL=ON \
|
-DBUILD_UNIVERSAL=ON \
|
||||||
@ -290,8 +352,7 @@ jobs:
|
|||||||
- upload
|
- upload
|
||||||
|
|
||||||
sign-online-chat-installer-macos:
|
sign-online-chat-installer-macos:
|
||||||
macos:
|
<<: *job-macos-executor
|
||||||
xcode: 15.4.0
|
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
# attach to a workspace containing unsigned dmg
|
# attach to a workspace containing unsigned dmg
|
||||||
@ -325,8 +386,7 @@ jobs:
|
|||||||
- upload
|
- upload
|
||||||
|
|
||||||
notarize-online-chat-installer-macos:
|
notarize-online-chat-installer-macos:
|
||||||
macos:
|
<<: *job-macos-executor
|
||||||
xcode: 15.4.0
|
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- attach_workspace:
|
- attach_workspace:
|
||||||
@ -379,34 +439,7 @@ jobs:
|
|||||||
keys:
|
keys:
|
||||||
- ccache-gpt4all-linux-amd64-
|
- ccache-gpt4all-linux-amd64-
|
||||||
- run:
|
- run:
|
||||||
name: Setup Linux and Dependencies
|
<<: *job-linux-install-chat-deps
|
||||||
command: |
|
|
||||||
# Prevent apt-get from interactively prompting for service restart
|
|
||||||
echo "\$nrconf{restart} = 'l'" | sudo tee /etc/needrestart/conf.d/90-autorestart.conf >/dev/null
|
|
||||||
wget -qO- "https://packages.lunarg.com/lunarg-signing-key-pub.asc" | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
|
|
||||||
wget -qO- "https://packages.lunarg.com/vulkan/1.3.290/lunarg-vulkan-1.3.290-jammy.list" | sudo tee /etc/apt/sources.list.d/lunarg-vulkan-1.3.290-jammy.list
|
|
||||||
wget "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb"
|
|
||||||
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
|
||||||
packages=(
|
|
||||||
bison build-essential ccache cuda-compiler-11-8 flex g++-12 gperf libcublas-dev-11-8 libfontconfig1
|
|
||||||
libfreetype6 libgl1-mesa-dev libmysqlclient21 libnvidia-compute-550-server libodbc2 libpq5 libwayland-dev
|
|
||||||
libx11-6 libx11-xcb1 libxcb-cursor0 libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0
|
|
||||||
libxcb-render-util0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xinerama0
|
|
||||||
libxcb-xkb1 libxcb1 libxext6 libxfixes3 libxi6 libxkbcommon-dev libxkbcommon-x11-0 libxrender1 patchelf
|
|
||||||
python3 vulkan-sdk
|
|
||||||
)
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y "${packages[@]}"
|
|
||||||
- run:
|
|
||||||
name: Installing Qt
|
|
||||||
command: |
|
|
||||||
wget "https://qt.mirror.constant.com/archive/online_installers/4.8/qt-online-installer-linux-x64-4.8.1.run"
|
|
||||||
chmod +x qt-online-installer-linux-x64-4.8.1.run
|
|
||||||
./qt-online-installer-linux-x64-4.8.1.run --no-force-installations --no-default-installations \
|
|
||||||
--no-size-checking --default-answer --accept-licenses --confirm-command --accept-obligations \
|
|
||||||
--email "$QT_EMAIL" --password "$QT_PASSWORD" install \
|
|
||||||
qt.tools.cmake qt.tools.ifw.48 qt.tools.ninja qt.qt6.682.linux_gcc_64 qt.qt6.682.addons.qt5compat \
|
|
||||||
qt.qt6.682.debug_info extensions.qtpdf.682 qt.qt6.682.addons.qthttpserver
|
|
||||||
- run:
|
- run:
|
||||||
name: Build linuxdeployqt
|
name: Build linuxdeployqt
|
||||||
command: |
|
command: |
|
||||||
@ -427,8 +460,10 @@ jobs:
|
|||||||
~/Qt/Tools/CMake/bin/cmake \
|
~/Qt/Tools/CMake/bin/cmake \
|
||||||
-S ../gpt4all-chat -B . \
|
-S ../gpt4all-chat -B . \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_C_COMPILER=gcc-12 \
|
-DCMAKE_C_COMPILER=clang-19 \
|
||||||
-DCMAKE_CXX_COMPILER=g++-12 \
|
-DCMAKE_CXX_COMPILER=clang++-19 \
|
||||||
|
-DCMAKE_CXX_COMPILER_AR=ar \
|
||||||
|
-DCMAKE_CXX_COMPILER_RANLIB=ranlib \
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CUDA_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CUDA_COMPILER_LAUNCHER=ccache \
|
||||||
@ -468,34 +503,7 @@ jobs:
|
|||||||
keys:
|
keys:
|
||||||
- ccache-gpt4all-linux-amd64-
|
- ccache-gpt4all-linux-amd64-
|
||||||
- run:
|
- run:
|
||||||
name: Setup Linux and Dependencies
|
<<: *job-linux-install-chat-deps
|
||||||
command: |
|
|
||||||
# Prevent apt-get from interactively prompting for service restart
|
|
||||||
echo "\$nrconf{restart} = 'l'" | sudo tee /etc/needrestart/conf.d/90-autorestart.conf >/dev/null
|
|
||||||
wget -qO- "https://packages.lunarg.com/lunarg-signing-key-pub.asc" | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
|
|
||||||
wget -qO- "https://packages.lunarg.com/vulkan/1.3.290/lunarg-vulkan-1.3.290-jammy.list" | sudo tee /etc/apt/sources.list.d/lunarg-vulkan-1.3.290-jammy.list
|
|
||||||
wget "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb"
|
|
||||||
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
|
||||||
packages=(
|
|
||||||
bison build-essential ccache cuda-compiler-11-8 flex g++-12 gperf libcublas-dev-11-8 libfontconfig1
|
|
||||||
libfreetype6 libgl1-mesa-dev libmysqlclient21 libnvidia-compute-550-server libodbc2 libpq5 libwayland-dev
|
|
||||||
libx11-6 libx11-xcb1 libxcb-cursor0 libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0
|
|
||||||
libxcb-render-util0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xinerama0
|
|
||||||
libxcb-xkb1 libxcb1 libxext6 libxfixes3 libxi6 libxkbcommon-dev libxkbcommon-x11-0 libxrender1 patchelf
|
|
||||||
python3 vulkan-sdk
|
|
||||||
)
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y "${packages[@]}"
|
|
||||||
- run:
|
|
||||||
name: Installing Qt
|
|
||||||
command: |
|
|
||||||
wget "https://qt.mirror.constant.com/archive/online_installers/4.8/qt-online-installer-linux-x64-4.8.1.run"
|
|
||||||
chmod +x qt-online-installer-linux-x64-4.8.1.run
|
|
||||||
./qt-online-installer-linux-x64-4.8.1.run --no-force-installations --no-default-installations \
|
|
||||||
--no-size-checking --default-answer --accept-licenses --confirm-command --accept-obligations \
|
|
||||||
--email "$QT_EMAIL" --password "$QT_PASSWORD" install \
|
|
||||||
qt.tools.cmake qt.tools.ifw.48 qt.tools.ninja qt.qt6.682.linux_gcc_64 qt.qt6.682.addons.qt5compat \
|
|
||||||
qt.qt6.682.debug_info extensions.qtpdf.682 qt.qt6.682.addons.qthttpserver
|
|
||||||
- run:
|
- run:
|
||||||
name: Build linuxdeployqt
|
name: Build linuxdeployqt
|
||||||
command: |
|
command: |
|
||||||
@ -516,8 +524,10 @@ jobs:
|
|||||||
~/Qt/Tools/CMake/bin/cmake \
|
~/Qt/Tools/CMake/bin/cmake \
|
||||||
-S ../gpt4all-chat -B . \
|
-S ../gpt4all-chat -B . \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_C_COMPILER=gcc-12 \
|
-DCMAKE_C_COMPILER=clang-19 \
|
||||||
-DCMAKE_CXX_COMPILER=g++-12 \
|
-DCMAKE_CXX_COMPILER=clang++-19 \
|
||||||
|
-DCMAKE_CXX_COMPILER_AR=ar \
|
||||||
|
-DCMAKE_CXX_COMPILER_RANLIB=ranlib \
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CUDA_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CUDA_COMPILER_LAUNCHER=ccache \
|
||||||
@ -1109,34 +1119,7 @@ jobs:
|
|||||||
keys:
|
keys:
|
||||||
- ccache-gpt4all-linux-amd64-
|
- ccache-gpt4all-linux-amd64-
|
||||||
- run:
|
- run:
|
||||||
name: Setup Linux and Dependencies
|
<<: *job-linux-install-chat-deps
|
||||||
command: |
|
|
||||||
# Prevent apt-get from interactively prompting for service restart
|
|
||||||
echo "\$nrconf{restart} = 'l'" | sudo tee /etc/needrestart/conf.d/90-autorestart.conf >/dev/null
|
|
||||||
wget -qO- "https://packages.lunarg.com/lunarg-signing-key-pub.asc" | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
|
|
||||||
wget -qO- "https://packages.lunarg.com/vulkan/1.3.290/lunarg-vulkan-1.3.290-jammy.list" | sudo tee /etc/apt/sources.list.d/lunarg-vulkan-1.3.290-jammy.list
|
|
||||||
wget "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb"
|
|
||||||
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
|
||||||
packages=(
|
|
||||||
bison build-essential ccache cuda-compiler-11-8 flex g++-12 gperf libcublas-dev-11-8 libfontconfig1
|
|
||||||
libfreetype6 libgl1-mesa-dev libmysqlclient21 libnvidia-compute-550-server libodbc2 libpq5 libwayland-dev
|
|
||||||
libx11-6 libx11-xcb1 libxcb-cursor0 libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0
|
|
||||||
libxcb-render-util0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xinerama0
|
|
||||||
libxcb-xkb1 libxcb1 libxext6 libxfixes3 libxi6 libxkbcommon-dev libxkbcommon-x11-0 libxrender1 python3
|
|
||||||
vulkan-sdk
|
|
||||||
)
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y "${packages[@]}"
|
|
||||||
- run:
|
|
||||||
name: Installing Qt
|
|
||||||
command: |
|
|
||||||
wget "https://qt.mirror.constant.com/archive/online_installers/4.8/qt-online-installer-linux-x64-4.8.1.run"
|
|
||||||
chmod +x qt-online-installer-linux-x64-4.8.1.run
|
|
||||||
./qt-online-installer-linux-x64-4.8.1.run --no-force-installations --no-default-installations \
|
|
||||||
--no-size-checking --default-answer --accept-licenses --confirm-command --accept-obligations \
|
|
||||||
--email "$QT_EMAIL" --password "$QT_PASSWORD" install \
|
|
||||||
qt.tools.cmake qt.tools.ifw.48 qt.tools.ninja qt.qt6.682.linux_gcc_64 qt.qt6.682.addons.qt5compat \
|
|
||||||
qt.qt6.682.debug_info extensions.qtpdf.682 qt.qt6.682.addons.qthttpserver
|
|
||||||
- run:
|
- run:
|
||||||
name: Build
|
name: Build
|
||||||
no_output_timeout: 30m
|
no_output_timeout: 30m
|
||||||
@ -1147,8 +1130,10 @@ jobs:
|
|||||||
~/Qt/Tools/CMake/bin/cmake \
|
~/Qt/Tools/CMake/bin/cmake \
|
||||||
-S gpt4all-chat -B build \
|
-S gpt4all-chat -B build \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_C_COMPILER=gcc-12 \
|
-DCMAKE_C_COMPILER=clang-19 \
|
||||||
-DCMAKE_CXX_COMPILER=g++-12 \
|
-DCMAKE_CXX_COMPILER=clang++-19 \
|
||||||
|
-DCMAKE_CXX_COMPILER_AR=ar \
|
||||||
|
-DCMAKE_CXX_COMPILER_RANLIB=ranlib \
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CUDA_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CUDA_COMPILER_LAUNCHER=ccache \
|
||||||
@ -1227,8 +1212,7 @@ jobs:
|
|||||||
- ..\.ccache
|
- ..\.ccache
|
||||||
|
|
||||||
build-gpt4all-chat-macos:
|
build-gpt4all-chat-macos:
|
||||||
macos:
|
<<: *job-macos-executor
|
||||||
xcode: 15.4.0
|
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
@ -1239,12 +1223,11 @@ jobs:
|
|||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- ccache-gpt4all-macos-
|
- ccache-gpt4all-macos-
|
||||||
|
- run:
|
||||||
|
<<: *job-macos-install-deps
|
||||||
- run:
|
- run:
|
||||||
name: Install Rosetta
|
name: Install Rosetta
|
||||||
command: softwareupdate --install-rosetta --agree-to-license # needed for QtIFW
|
command: softwareupdate --install-rosetta --agree-to-license # needed for QtIFW
|
||||||
- run:
|
|
||||||
name: Install dependencies
|
|
||||||
command: brew install ccache wget
|
|
||||||
- run:
|
- run:
|
||||||
name: Installing Qt
|
name: Installing Qt
|
||||||
command: |
|
command: |
|
||||||
@ -1267,6 +1250,9 @@ jobs:
|
|||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_PREFIX_PATH:PATH=~/Qt/6.8.2/macos/lib/cmake \
|
-DCMAKE_PREFIX_PATH:PATH=~/Qt/6.8.2/macos/lib/cmake \
|
||||||
-DCMAKE_MAKE_PROGRAM:FILEPATH=~/Qt/Tools/Ninja/ninja \
|
-DCMAKE_MAKE_PROGRAM:FILEPATH=~/Qt/Tools/Ninja/ninja \
|
||||||
|
-DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm/bin/clang \
|
||||||
|
-DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++ \
|
||||||
|
-DCMAKE_RANLIB=/usr/bin/ranlib \
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||||
-DBUILD_UNIVERSAL=ON \
|
-DBUILD_UNIVERSAL=ON \
|
||||||
@ -1334,22 +1320,7 @@ jobs:
|
|||||||
keys:
|
keys:
|
||||||
- ccache-gpt4all-linux-amd64-
|
- ccache-gpt4all-linux-amd64-
|
||||||
- run:
|
- run:
|
||||||
name: Set Python Version
|
<<: *job-linux-install-backend-deps
|
||||||
command: pyenv global 3.11.2
|
|
||||||
- run:
|
|
||||||
name: Install dependencies
|
|
||||||
command: |
|
|
||||||
wget -qO- "https://packages.lunarg.com/lunarg-signing-key-pub.asc" | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
|
|
||||||
wget -qO- "https://packages.lunarg.com/vulkan/1.3.290/lunarg-vulkan-1.3.290-jammy.list" | sudo tee /etc/apt/sources.list.d/lunarg-vulkan-1.3.290-jammy.list
|
|
||||||
wget "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb"
|
|
||||||
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
|
||||||
packages=(
|
|
||||||
build-essential ccache cmake cuda-compiler-11-8 g++-12 libcublas-dev-11-8 libnvidia-compute-550-server
|
|
||||||
vulkan-sdk
|
|
||||||
)
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y "${packages[@]}"
|
|
||||||
pip install setuptools wheel cmake
|
|
||||||
- run:
|
- run:
|
||||||
name: Build C library
|
name: Build C library
|
||||||
no_output_timeout: 30m
|
no_output_timeout: 30m
|
||||||
@ -1358,10 +1329,12 @@ jobs:
|
|||||||
git submodule update --init --recursive
|
git submodule update --init --recursive
|
||||||
ccache -o "cache_dir=${PWD}/../.ccache" -o max_size=500M -p -z
|
ccache -o "cache_dir=${PWD}/../.ccache" -o max_size=500M -p -z
|
||||||
cd gpt4all-backend
|
cd gpt4all-backend
|
||||||
cmake -B build \
|
cmake -B build -G Ninja \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_C_COMPILER=gcc-12 \
|
-DCMAKE_C_COMPILER=clang-19 \
|
||||||
-DCMAKE_CXX_COMPILER=g++-12 \
|
-DCMAKE_CXX_COMPILER=clang++-19 \
|
||||||
|
-DCMAKE_CXX_COMPILER_AR=ar \
|
||||||
|
-DCMAKE_CXX_COMPILER_RANLIB=ranlib \
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CUDA_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CUDA_COMPILER_LAUNCHER=ccache \
|
||||||
@ -1387,18 +1360,17 @@ jobs:
|
|||||||
- "*.whl"
|
- "*.whl"
|
||||||
|
|
||||||
build-py-macos:
|
build-py-macos:
|
||||||
macos:
|
<<: *job-macos-executor
|
||||||
xcode: 15.4.0
|
|
||||||
resource_class: macos.m1.large.gen1
|
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- ccache-gpt4all-macos-
|
- ccache-gpt4all-macos-
|
||||||
|
- run:
|
||||||
|
<<: *job-macos-install-deps
|
||||||
- run:
|
- run:
|
||||||
name: Install dependencies
|
name: Install dependencies
|
||||||
command: |
|
command: |
|
||||||
brew install ccache cmake
|
|
||||||
pip install setuptools wheel cmake
|
pip install setuptools wheel cmake
|
||||||
- run:
|
- run:
|
||||||
name: Build C library
|
name: Build C library
|
||||||
@ -1409,6 +1381,9 @@ jobs:
|
|||||||
cd gpt4all-backend
|
cd gpt4all-backend
|
||||||
cmake -B build \
|
cmake -B build \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm/bin/clang \
|
||||||
|
-DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++ \
|
||||||
|
-DCMAKE_RANLIB=/usr/bin/ranlib \
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||||
-DBUILD_UNIVERSAL=ON \
|
-DBUILD_UNIVERSAL=ON \
|
||||||
@ -1537,18 +1512,7 @@ jobs:
|
|||||||
keys:
|
keys:
|
||||||
- ccache-gpt4all-linux-amd64-
|
- ccache-gpt4all-linux-amd64-
|
||||||
- run:
|
- run:
|
||||||
name: Install dependencies
|
<<: *job-linux-install-backend-deps
|
||||||
command: |
|
|
||||||
wget -qO- "https://packages.lunarg.com/lunarg-signing-key-pub.asc" | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
|
|
||||||
wget -qO- "https://packages.lunarg.com/vulkan/1.3.290/lunarg-vulkan-1.3.290-jammy.list" | sudo tee /etc/apt/sources.list.d/lunarg-vulkan-1.3.290-jammy.list
|
|
||||||
wget "https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb"
|
|
||||||
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
|
||||||
packages=(
|
|
||||||
build-essential ccache cmake cuda-compiler-11-8 g++-12 libcublas-dev-11-8 libnvidia-compute-550-server
|
|
||||||
vulkan-sdk
|
|
||||||
)
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y "${packages[@]}"
|
|
||||||
- run:
|
- run:
|
||||||
name: Build Libraries
|
name: Build Libraries
|
||||||
no_output_timeout: 30m
|
no_output_timeout: 30m
|
||||||
@ -1558,10 +1522,12 @@ jobs:
|
|||||||
cd gpt4all-backend
|
cd gpt4all-backend
|
||||||
mkdir -p runtimes/build
|
mkdir -p runtimes/build
|
||||||
cd runtimes/build
|
cd runtimes/build
|
||||||
cmake ../.. \
|
cmake ../.. -G Ninja \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_C_COMPILER=gcc-12 \
|
-DCMAKE_C_COMPILER=clang-19 \
|
||||||
-DCMAKE_C_COMPILER=g++-12 \
|
-DCMAKE_CXX_COMPILER=clang++-19 \
|
||||||
|
-DCMAKE_CXX_COMPILER_AR=ar \
|
||||||
|
-DCMAKE_CXX_COMPILER_RANLIB=ranlib \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||||
@ -1582,8 +1548,7 @@ jobs:
|
|||||||
- runtimes/linux-x64/*.so
|
- runtimes/linux-x64/*.so
|
||||||
|
|
||||||
build-bindings-backend-macos:
|
build-bindings-backend-macos:
|
||||||
macos:
|
<<: *job-macos-executor
|
||||||
xcode: 15.4.0
|
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
@ -1595,9 +1560,7 @@ jobs:
|
|||||||
keys:
|
keys:
|
||||||
- ccache-gpt4all-macos-
|
- ccache-gpt4all-macos-
|
||||||
- run:
|
- run:
|
||||||
name: Install dependencies
|
<<: *job-macos-install-deps
|
||||||
command: |
|
|
||||||
brew install ccache cmake
|
|
||||||
- run:
|
- run:
|
||||||
name: Build Libraries
|
name: Build Libraries
|
||||||
no_output_timeout: 30m
|
no_output_timeout: 30m
|
||||||
@ -1608,6 +1571,9 @@ jobs:
|
|||||||
cd runtimes/build
|
cd runtimes/build
|
||||||
cmake ../.. \
|
cmake ../.. \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm/bin/clang \
|
||||||
|
-DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm/bin/clang++ \
|
||||||
|
-DCMAKE_RANLIB=/usr/bin/ranlib \
|
||||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||||
-DBUILD_UNIVERSAL=ON \
|
-DBUILD_UNIVERSAL=ON \
|
||||||
@ -1725,8 +1691,7 @@ jobs:
|
|||||||
- runtimes/linux-x64/*-*.so
|
- runtimes/linux-x64/*-*.so
|
||||||
|
|
||||||
build-nodejs-macos:
|
build-nodejs-macos:
|
||||||
macos:
|
<<: *job-macos-executor
|
||||||
xcode: 15.4.0
|
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- attach_workspace:
|
- attach_workspace:
|
||||||
|
@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Substitute prettier default templates for OLMoE 7B 0924/0125 and Granite 3.1 3B/8B (by [@ThiloteE](https://github.com/ThiloteE) in [#3471](https://github.com/nomic-ai/gpt4all/pull/3471))
|
- Substitute prettier default templates for OLMoE 7B 0924/0125 and Granite 3.1 3B/8B (by [@ThiloteE](https://github.com/ThiloteE) in [#3471](https://github.com/nomic-ai/gpt4all/pull/3471))
|
||||||
|
- Build with LLVM Clang 19 on macOS and Ubuntu ([#3500](https://github.com/nomic-ai/gpt4all/pull/3500))
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- Fix several potential crashes ([#3465](https://github.com/nomic-ai/gpt4all/pull/3465))
|
- Fix several potential crashes ([#3465](https://github.com/nomic-ai/gpt4all/pull/3465))
|
||||||
|
Loading…
Reference in New Issue
Block a user