mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2025-08-18 16:07:51 +00:00
63 lines
2.8 KiB
YAML
63 lines
2.8 KiB
YAML
name: cpp-linter
|
|
|
|
on:
|
|
pull_request:
|
|
paths: ['.github/workflows/cpp-linter.yml', '**.c', '**.cpp', '**.h', '**.inl', '**CMakeLists.txt', '**.cmake']
|
|
push:
|
|
branches: [main]
|
|
paths: ['.github/workflows/cpp-linter.yml', '**.c', '**.cpp', '**.h', '**.inl', '**CMakeLists.txt', '**.cmake']
|
|
|
|
jobs:
|
|
cpp-linter:
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: 'recursive'
|
|
- name: Install dependencies
|
|
run: |
|
|
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 -y 'deb http://apt.llvm.org/noble/ llvm-toolchain-noble-19 main'
|
|
packages=(
|
|
clang-19 clang-format-19 clang-tidy-19 cmake git libgl-dev libopengl-dev libx11-6 libx11-xcb1 libxcb-glx0
|
|
libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-shape0
|
|
libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb-xinput0 libxcb-xkb1 libxcb1 libxkbcommon-dev
|
|
libxkbcommon-x11-0 libxkbcommon0 make
|
|
)
|
|
sudo apt-get update
|
|
sudo apt-get install -y "${packages[@]}" --no-install-recommends
|
|
- name: Install Qt
|
|
env:
|
|
QT_EMAIL: ${{ secrets.QT_EMAIL }}
|
|
QT_PASSWORD: ${{ secrets.QT_PASSWORD }}
|
|
run: |
|
|
wget 'https://qt.mirror.constant.com/archive/online_installers/4.8/qt-online-installer-linux-x64-4.8.0.run'
|
|
chmod +x qt-online-installer-linux-x64-4.8.0.run
|
|
./qt-online-installer-linux-x64-4.8.0.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.qt6.680.linux_gcc_64 extensions.qtpdf.680.linux_gcc_64 qt.qt6.680.addons.qthttpserver
|
|
- name: Configure
|
|
run: |
|
|
sed -i '/file(DOWNLOAD/,+4 s/^/#/' gpt4all-chat/CMakeLists.txt
|
|
cmake -S gpt4all-chat -B gpt4all-chat/build \
|
|
-DCMAKE_PREFIX_PATH=~/Qt/6.8.0/gcc_64/lib/cmake \
|
|
-DCMAKE_C_COMPILER=clang-19 \
|
|
-DCMAKE_CXX_COMPILER=clang++-19 \
|
|
-DLLMODEL_CUDA=OFF \
|
|
-DLLMODEL_KOMPUTE=OFF
|
|
- uses: cpp-linter/cpp-linter-action@v2
|
|
id: linter
|
|
with:
|
|
style: '' # no clang-format
|
|
extensions: 'c,cpp'
|
|
tidy-checks: '' # use .clang-tidy config
|
|
database: gpt4all-chat/build
|
|
version: 19
|
|
files-changed-only: false
|
|
ignore: 'gpt4all-chat/build/_deps|gpt4all-bindings'
|
|
- name: Fail Fast
|
|
if: steps.linter.outputs.clang-tidy-checks-failed > 0
|
|
run: exit 1
|