Skip to content

Merge pull request #197 from AleksandrKent/160-feature-c-bindings-and… #2

Merge pull request #197 from AleksandrKent/160-feature-c-bindings-and…

Merge pull request #197 from AleksandrKent/160-feature-c-bindings-and… #2

# This workflow builds USearch native libraries, then build and test C# USearch wrapper
# Currently for development purposes an if condition specified below to work only fork
name: Test C# wrapper
on:
push:
branches: ["160-feature-c-bindings-and-semantic-kernel-integration"]
env:
LINUX_OSX_SCRIPT: build_and_test.sh
WINDOWS_SCRIPT: build_and_test.cmd
jobs:
matrix-test:
if: github.repository == 'AleksandrKent/usearch'
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v3
with:
ref: "160-feature-c-bindings-and-semantic-kernel-integration"
- run: |
git submodule update --init --recursive
shell: bash
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6.0.x
# Ubuntu and macOS steps
- name: Run ${{ env.LINUX_OSX_SCRIPT }} on Ubuntu or macOS
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'
run: |
cd ./csharp
"./${{ env.LINUX_OSX_SCRIPT }}"
shell: bash
# Windows step
- name: Run ${{ env.WINDOWS_SCRIPT }} on Windows
if: matrix.os == 'windows-latest'
run: |
cd .\csharp
${{ env.WINDOWS_SCRIPT }}
shell: cmd