Skip to content

fix(ci): pass deployment body as raw JSON for empty required_contexts… #39

fix(ci): pass deployment body as raw JSON for empty required_contexts…

fix(ci): pass deployment body as raw JSON for empty required_contexts… #39

Workflow file for this run

name: .NET CI
on:
push:
branches: [main, "rewrite/dotnet"]
pull_request:
branches: [main, "rewrite/dotnet"]
permissions:
contents: read
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
lfs: true
- name: Install clang (NativeAOT requirement)
run: sudo apt-get update && sudo apt-get install -y clang zlib1g-dev
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
global-json-file: global.json
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install npm dependencies (provides sqlite-vec native lib)
# sqlite-vec ships per-platform native libs via npm optionalDependencies
# (sqlite-vec-linux-x64, sqlite-vec-darwin-arm64, etc.). The Infrastructure
# csproj's MSBuild step copies vec0.* from node_modules/sqlite-vec-<rid>/
# into the test output directory. This is the intentional production path —
# the npm package is acting as a binary CDN for the native extension, not
# as a JavaScript runtime. sqlite-vec is the only remaining devDependency
# in package.json.
run: npm ci
- name: Restore
run: dotnet restore src/TotalRecall.sln
- name: Build
run: dotnet build src/TotalRecall.sln --no-restore --configuration Release
- name: Test
run: dotnet test src/TotalRecall.sln --no-build --configuration Release --logger "console;verbosity=normal"