mirror of
https://github.com/hanzoai/sqlite.git
synced 2026-10-30 18:22:26 +00:00
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.
26 lines
1.2 KiB
YAML
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 ./...
|