Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
154 changes: 154 additions & 0 deletions .github/workflows/test-embedding.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
name: Source embedding matrix

on:
push:
branches:
- main
- master
- dev
pull_request:
branches:
- main
- master
- dev

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
linux:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- dependencies: system
library-type: STATIC
fetchcontent: OFF
preload-curl: ON
- dependencies: system
library-type: SHARED
fetchcontent: ON
preload-curl: OFF
- dependencies: self-contained
library-type: STATIC
fetchcontent: ON
preload-curl: OFF
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
if: matrix.dependencies == 'system'
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev libsqlite3-dev ninja-build zlib1g-dev
- name: Configure
shell: bash
run: |
options=(
-G Ninja
-S tests/embedding
-B build-embedding
-DCMAKE_BUILD_TYPE=Release
-DMATSDK_EMBEDDING_USE_FETCHCONTENT=${{ matrix.fetchcontent }}
-DMATSDK_EMBEDDING_PRELOAD_CURL=${{ matrix.preload-curl }}
-DMATSDK_LIBRARY_TYPE=${{ matrix.library-type }}
)
if [[ "${{ matrix.dependencies }}" == "self-contained" ]]; then
options+=(
-DMATSDK_CURL_PROVIDER=FETCH
-DMATSDK_CURL_TLS_BACKEND=MBEDTLS
-DMATSDK_SQLITE_PROVIDER=MINIMAL
-DMATSDK_ZLIB_PROVIDER=VENDORED
)
else
options+=(
-DMATSDK_SQLITE_PROVIDER=SYSTEM
-DMATSDK_ZLIB_PROVIDER=SYSTEM
)
fi
cmake "${options[@]}"
- name: Build and run
run: |
cmake --build build-embedding --target embedding_test --parallel 4
./build-embedding/embedding_test
windows:
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- name: Configure
run: >
cmake -S tests/embedding -B build-embedding -A x64
-DMATSDK_EMBEDDING_USE_FETCHCONTENT=ON
-DMATSDK_SQLITE_PROVIDER=VENDORED
-DMATSDK_ZLIB_PROVIDER=VENDORED
- name: Build and run
shell: pwsh
run: |
cmake --build build-embedding --config Release --target embedding_test -- /m
& .\build-embedding\Release\embedding_test.exe
macos:
runs-on: macos-latest
strategy:
matrix:
architectures: [arm64, "arm64;x86_64"]
steps:
- uses: actions/checkout@v4
- name: Configure
run: >
cmake -G Ninja -S tests/embedding -B build-embedding
-DCMAKE_BUILD_TYPE=Release
"-DCMAKE_OSX_ARCHITECTURES=${{ matrix.architectures }}"
-DMATSDK_EMBEDDING_USE_FETCHCONTENT=ON
-DMATSDK_SQLITE_PROVIDER=SYSTEM
-DMATSDK_ZLIB_PROVIDER=SYSTEM
- name: Build
run: cmake --build build-embedding --target embedding_test --parallel 4

ios:
runs-on: macos-latest
strategy:
matrix:
include:
- sdk: iphoneos
sqlite-provider: SYSTEM
zlib-provider: SYSTEM
- sdk: iphonesimulator
sqlite-provider: VENDORED
zlib-provider: VENDORED
steps:
- uses: actions/checkout@v4
- name: Configure
run: >
cmake -G Xcode -S tests/embedding -B build-embedding
-DCMAKE_SYSTEM_NAME=iOS
-DCMAKE_OSX_SYSROOT=${{ matrix.sdk }}
-DCMAKE_OSX_ARCHITECTURES=arm64
-DCMAKE_OSX_DEPLOYMENT_TARGET=13.0
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED=NO
-DMATSDK_BUILD_IOS=ON
-DMATSDK_EMBEDDING_USE_FETCHCONTENT=ON
-DMATSDK_SQLITE_PROVIDER=${{ matrix.sqlite-provider }}
-DMATSDK_ZLIB_PROVIDER=${{ matrix.zlib-provider }}
- name: Build
run: cmake --build build-embedding --config Release --target embedding_test --parallel 4

android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure
run: >
cmake -G Ninja -S tests/embedding -B build-embedding
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_LATEST_HOME}/build/cmake/android.toolchain.cmake
-DANDROID_ABI=arm64-v8a
-DANDROID_PLATFORM=23
-DCMAKE_BUILD_TYPE=Release
-DMATSDK_EMBEDDING_USE_FETCHCONTENT=ON
-DMATSDK_SQLITE_PROVIDER=VENDORED
-DMATSDK_ZLIB_PROVIDER=VENDORED
- name: Build
run: cmake --build build-embedding --target embedding_test --parallel 4
Loading
Loading