Skip to content
Merged
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
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,11 @@ Derived/
Libs/*.a
Libs/.downloaded
Libs/dylibs/
Libs/ios/
Libs/ios/*
# The integrity baseline for the iOS xcframeworks is tracked, the way Libs/checksums.sha256 is.
# The directory pattern above has to end in /* rather than /, because git cannot re-include a
# file whose parent directory is itself excluded.
!Libs/ios/checksums.sha256

# Rust driver build outputs. The vendored crates are workspace members, so the bridge
# lockfile is the only one cargo writes. lib/ holds the staticlib slices build-dameng.sh
Expand Down
6 changes: 4 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,13 @@ git add Libs/checksums.sha256 && git commit -m "build: update static library che

Never run `shasum -a 256 Libs/*.a > Libs/checksums.sha256` by hand: regenerating from a stale `Libs/` reverts other libraries silently (this shipped a broken libmongoc and rolled back DuckDB once). `publish-libs.sh` exists to make that impossible.

The same applies to the iOS xcframeworks. `download-libs.sh` verifies `Libs/ios` against `Libs/ios/checksums.sha256` on every run, so the archive and its baseline have to move together; `publish-ios-libs.sh` does both and refuses a publish that changes nothing. It takes `--dry-run`.

```bash

# iOS xcframeworks (Libs/ios/*.xcframework)
tar czf /tmp/tablepro-libs-ios-v1.tar.gz -C Libs/ios .
gh release upload libs-v1 /tmp/tablepro-libs-ios-v1.tar.gz --clobber --repo TableProApp/TablePro
scripts/publish-ios-libs.sh
git add Libs/ios/checksums.sha256 && git commit -m "build: update iOS xcframework checksums"
```

## Architecture
Expand Down
Loading
Loading