Skip to content

Commit 8ec2213

Browse files
committed
feat: add hnsw extraction toolbox with ffi, purego bindings, tests, and ci
0 parents  commit 8ec2213

15 files changed

Lines changed: 3398 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
workflow_dispatch:
11+
12+
permissions:
13+
contents: read
14+
15+
jobs:
16+
lint:
17+
name: Lint
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout
21+
uses: actions/checkout@v4
22+
23+
- name: Setup Go
24+
uses: actions/setup-go@v5
25+
with:
26+
go-version: "1.21"
27+
28+
- name: Setup Rust
29+
uses: dtolnay/rust-toolchain@stable
30+
31+
- name: Cache Rust
32+
uses: Swatinem/rust-cache@v2
33+
34+
- name: Run golangci-lint
35+
uses: golangci/golangci-lint-action@v8
36+
with:
37+
version: v2.5.0
38+
args: --timeout=5m ./...
39+
40+
- name: Run Rust clippy
41+
run: cargo clippy --locked --all-targets -- -D warnings
42+
43+
test:
44+
name: Test
45+
runs-on: ubuntu-latest
46+
steps:
47+
- name: Checkout
48+
uses: actions/checkout@v4
49+
50+
- name: Setup Go
51+
uses: actions/setup-go@v5
52+
with:
53+
go-version: "1.21"
54+
55+
- name: Setup Rust
56+
uses: dtolnay/rust-toolchain@stable
57+
58+
- name: Cache Rust
59+
uses: Swatinem/rust-cache@v2
60+
61+
- name: Run tests
62+
run: make test
63+
64+
build:
65+
name: Build
66+
runs-on: ubuntu-latest
67+
steps:
68+
- name: Checkout
69+
uses: actions/checkout@v4
70+
71+
- name: Setup Rust
72+
uses: dtolnay/rust-toolchain@stable
73+
74+
- name: Cache Rust
75+
uses: Swatinem/rust-cache@v2
76+
77+
- name: Build debug
78+
run: make build
79+
80+
- name: Build release
81+
run: make build-release

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/target

0 commit comments

Comments
 (0)