fix: guard SSL-only httplib calls behind CPPHTTPLIB_OPENSSL_SUPPORT #3
This file contains hidden or 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: Build | |
| on: | |
| push: | |
| branches: [main, develop, release] | |
| pull_request: | |
| branches: [main, develop] | |
| jobs: | |
| build-linux-x86_64: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Clone llama.cpp | |
| run: git clone --depth 1 https://github.com/ggml-org/llama.cpp.git ../llama.cpp | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake build-essential libcurl4-openssl-dev libssl-dev | |
| - name: Configure | |
| run: cmake -B build -DCMAKE_BUILD_TYPE=Release | |
| - name: Build | |
| run: cmake --build build -j$(nproc) | |
| - name: Package | |
| run: | | |
| cmake --install build --prefix build/install | |
| tar -czf easyai-linux-x86_64.tar.gz -C build/install . | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: easyai-linux-x86_64 | |
| path: easyai-linux-x86_64.tar.gz | |
| build-linux-aarch64: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Clone llama.cpp | |
| run: git clone --depth 1 https://github.com/ggml-org/llama.cpp.git ../llama.cpp | |
| - name: Install cross-compiler | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake g++-aarch64-linux-gnu | |
| - name: Configure | |
| run: | | |
| cmake -B build \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/aarch64-linux-gnu.cmake \ | |
| -DEASYAI_WITH_CURL=OFF | |
| - name: Build | |
| run: cmake --build build -j$(nproc) | |
| - name: Package | |
| run: | | |
| cmake --install build --prefix build/install | |
| tar -czf easyai-linux-aarch64.tar.gz -C build/install . | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: easyai-linux-aarch64 | |
| path: easyai-linux-aarch64.tar.gz | |
| build-linux-armhf: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Clone llama.cpp | |
| run: git clone --depth 1 https://github.com/ggml-org/llama.cpp.git ../llama.cpp | |
| - name: Install cross-compiler | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake g++-arm-linux-gnueabihf | |
| - name: Configure | |
| run: | | |
| cmake -B build \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/armhf-linux-gnu.cmake \ | |
| -DEASYAI_WITH_CURL=OFF | |
| - name: Build | |
| run: cmake --build build -j$(nproc) | |
| - name: Package | |
| run: | | |
| cmake --install build --prefix build/install | |
| tar -czf easyai-linux-armhf.tar.gz -C build/install . | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: easyai-linux-armhf | |
| path: easyai-linux-armhf.tar.gz | |
| release: | |
| if: github.ref == 'refs/heads/main' && github.event_name == 'push' | |
| needs: [build-linux-x86_64, build-linux-aarch64, build-linux-armhf] | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| path: artifacts | |
| - name: Create release (tag-triggered) | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| artifacts/easyai-linux-x86_64/easyai-linux-x86_64.tar.gz | |
| artifacts/easyai-linux-aarch64/easyai-linux-aarch64.tar.gz | |
| artifacts/easyai-linux-armhf/easyai-linux-armhf.tar.gz |