Skip to content

Commit affe4c1

Browse files
authored
Merge branch 'tobi:main' into main
2 parents 7ec50b8 + 2b8f329 commit affe4c1

File tree

110 files changed

+18737
-11691
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+18737
-11691
lines changed

.github/workflows/ci.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
test-node:
11+
name: Node ${{ matrix.node-version }} (${{ matrix.os }})
12+
runs-on: ${{ matrix.os }}
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
os: [ubuntu-latest, macos-latest]
17+
node-version: ["22", "23"]
18+
19+
steps:
20+
- uses: actions/checkout@v4
21+
22+
- uses: actions/setup-node@v4
23+
with:
24+
node-version: ${{ matrix.node-version }}
25+
26+
- name: Install SQLite (Ubuntu)
27+
if: runner.os == 'Linux'
28+
run: sudo apt-get update && sudo apt-get install -y libsqlite3-dev
29+
30+
- name: Install SQLite (macOS)
31+
if: runner.os == 'macOS'
32+
run: brew install sqlite
33+
34+
- run: npm install
35+
36+
- name: Tests
37+
run: npx vitest run --reporter=verbose --testTimeout 60000 test/
38+
env:
39+
CI: true
40+
41+
test-bun:
42+
name: Bun (${{ matrix.os }})
43+
runs-on: ${{ matrix.os }}
44+
strategy:
45+
fail-fast: false
46+
matrix:
47+
os: [ubuntu-latest, macos-latest]
48+
49+
steps:
50+
- uses: actions/checkout@v4
51+
52+
- uses: oven-sh/setup-bun@v2
53+
with:
54+
bun-version: latest
55+
56+
- name: Install SQLite (Ubuntu)
57+
if: runner.os == 'Linux'
58+
run: sudo apt-get update && sudo apt-get install -y libsqlite3-dev
59+
60+
- name: Install SQLite (macOS)
61+
if: runner.os == 'macOS'
62+
run: brew install sqlite
63+
64+
- name: Verify lockfile is up-to-date
65+
run: bun install --frozen-lockfile
66+
67+
- name: Tests
68+
run: bun test --timeout 60000 --preload ./src/test-preload.ts test/
69+
env:
70+
CI: true
71+
DYLD_LIBRARY_PATH: /opt/homebrew/opt/sqlite/lib
72+
LD_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu

.github/workflows/publish.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Publish
2+
3+
on:
4+
push:
5+
tags: ["v*"]
6+
7+
jobs:
8+
publish:
9+
runs-on: ubuntu-latest
10+
11+
permissions:
12+
contents: write
13+
id-token: write
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- uses: oven-sh/setup-bun@v2
19+
with:
20+
bun-version: latest
21+
22+
- name: Install SQLite
23+
run: sudo apt-get update && sudo apt-get install -y libsqlite3-dev
24+
25+
- name: Verify lockfile is up-to-date
26+
run: bun install --frozen-lockfile
27+
28+
- run: bun test --timeout 60000 --preload ./src/test-preload.ts test/
29+
env:
30+
CI: true
31+
LD_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu
32+
33+
- uses: actions/setup-node@v4
34+
with:
35+
node-version: 22
36+
registry-url: https://registry.npmjs.org
37+
38+
- run: npm run build
39+
- run: npm publish --provenance --access public
40+
env:
41+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
42+
43+
- name: Extract release notes
44+
id: notes
45+
run: |
46+
VERSION="${GITHUB_REF_NAME#v}"
47+
NOTES=$(./scripts/extract-changelog.sh "$VERSION")
48+
# Write to file for gh release (avoids quoting issues)
49+
echo "$NOTES" > /tmp/release-notes.md
50+
51+
- name: Create GitHub release
52+
run: |
53+
gh release create "$GITHUB_REF_NAME" \
54+
--title "$GITHUB_REF_NAME" \
55+
--notes-file /tmp/release-notes.md
56+
env:
57+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
node_modules/
2+
dist/
3+
package-lock.json
4+
.npmrc
25
*.sqlite
36
.DS_Store
47
archive/
58
texts/
69
.cursor/
7-
.github/
10+
.github/copilot/
811
*.md
912
!README.md
1013
!CLAUDE.md
14+
!CHANGELOG.md
1115
!skills/**/*.md
1216
!finetune/*.md
17+
!docs/*.md
1318
finetune/outputs/
1419
finetune/data/train/
20+
.claude/

.pi/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"skills": ["skills"]
3+
}

0 commit comments

Comments
 (0)