Files
zeekay 7612535372 the gorm dialector had one job and nothing left to do it for
It existed because gorm.io/driver/sqlite blank-imports mattn/go-sqlite3 to
register a driver name, and that copy of the SQLite amalgamation fails at the
linker beside this package's own under cgo. It was a bridge, and it says so in
its package doc.

Nothing imports gorm any more: pipelines, playground and agents/control-plane all
store through hanzoai/orm, and no module in the estate requires gorm.io/gorm.

The published gorm/* tags stay. A tag is a receipt, and deleting one breaks any
checkout that ever resolved it; the module simply stops being referenced.
2026-08-21 12:58:42 -07:00

26 lines
1.2 KiB
YAML

# hanzoai/sqlite — the Go SQLite driver (cgo amalgamation + SQLCipher envelope).
# A library: it ships from a tag as a Go module, builds no image, deploys
# nowhere. Gate only.
#
# BOTH BUILD TAGS, because this driver has two implementations and a repo that
# only compiled one of them would ship the other broken. driver_cgo.go and
# driver_nocgo.go (and the errcodes/hooks/pragma/filecontrol pairs beside them)
# are selected by cgo, so `go build ./...` alone exercises exactly half the
# tree. The C toolchain for the cgo half is provisioned by hanzoai/ci whenever
# go.mod is present.
#
# encryption_proof_test.go is the load-bearing suite: it asserts an encrypted
# file's bytes are not readable plaintext. That is the whole promise of the
# envelope, and it fails silently — a database that was never encrypted opens
# and queries perfectly. It RUNS on both builds, because the pure-Go envelope
# and the libsqlcipher codec are two implementations of that one promise.
#
test:
- name: build-and-test
run: |
set -e
CGO_ENABLED=1 go build ./...
CGO_ENABLED=0 go build ./...
CGO_ENABLED=1 go test -count=1 ./...
CGO_ENABLED=0 go test -count=1 ./...