sqlrite 0.1.8__tar.gz → 0.1.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sqlrite-0.1.8 → sqlrite-0.1.9}/.github/workflows/release.yml +144 -4
- {sqlrite-0.1.8 → sqlrite-0.1.9}/Cargo.lock +5 -5
- {sqlrite-0.1.8 → sqlrite-0.1.9}/Cargo.toml +1 -1
- {sqlrite-0.1.8 → sqlrite-0.1.9}/PKG-INFO +1 -1
- {sqlrite-0.1.8 → sqlrite-0.1.9}/README.md +1 -1
- {sqlrite-0.1.8 → sqlrite-0.1.9}/desktop/package.json +1 -1
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/roadmap.md +12 -2
- {sqlrite-0.1.8 → sqlrite-0.1.9}/pyproject.toml +1 -1
- {sqlrite-0.1.8 → sqlrite-0.1.9}/sdk/go/README.md +1 -1
- {sqlrite-0.1.8 → sqlrite-0.1.9}/sdk/python/Cargo.toml +1 -1
- {sqlrite-0.1.8 → sqlrite-0.1.9}/.github/workflows/ci.yml +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/.github/workflows/release-pr.yml +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/.github/workflows/rust.yml +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/.gitignore +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/CODE_OF_CONDUCT.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/LICENSE +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/MAINTAINERS +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/Makefile +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/desktop/index.html +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/desktop/package-lock.json +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/desktop/src/App.svelte +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/desktop/src/app.css +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/desktop/src/main.ts +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/desktop/src/vite-env.d.ts +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/desktop/svelte.config.js +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/desktop/tsconfig.json +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/desktop/vite.config.ts +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/_index.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/architecture.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/design-decisions.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/desktop.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/embedding.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/file-format.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/getting-started.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/pager.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/release-plan.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/release-secrets.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/smoke-test.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/sql-engine.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/storage-model.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/supported-sql.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/docs/usage.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/examples/README.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/examples/c/Makefile +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/examples/c/hello.c +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/examples/go/go.mod +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/examples/go/hello.go +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/examples/nodejs/hello.mjs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/examples/python/hello.py +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/examples/rust/quickstart.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/examples/wasm/Makefile +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/examples/wasm/index.html +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/images/SQLRite - Desktop.png +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/images/SQLRite Data Structures.png +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/images/SQLRite Simple SQL Execution High Level Diagram.png +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/images/SQLRite Simple SQL INSERT Execution High Level Diagram (Insert Row).png +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/images/SQLRite Simple SQL INSERT Execution High Level Diagram.png +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/images/SQLRite_logo.png +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/images/architecture.png +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/rust-toolchain.toml +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/samples/AST.delete.example +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/samples/AST.insert.exemple +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/samples/AST.select.example +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/samples/AST.update.example +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/samples/CREATE TABLE sqlrite_schema.sql +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/samples/CREATE_TABLE with duplicate.sql +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/samples/CREATE_TABLE.sql +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/samples/INSERT.sql +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/scripts/bump-version.sh +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/sdk/go/conn.go +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/sdk/go/go.mod +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/sdk/go/rows.go +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/sdk/go/sqlrite.go +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/sdk/go/sqlrite_test.go +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/sdk/go/stmt.go +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/sdk/python/README.md +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/sdk/python/src/lib.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/sdk/python/tests/test_sqlrite.py +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/connection.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/error.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/lib.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/main.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/meta_command/mod.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/repl/mod.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/db/database.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/db/mod.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/db/secondary_index.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/db/table.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/executor.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/mod.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/pager/cell.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/pager/file.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/pager/header.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/pager/index_cell.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/pager/interior_page.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/pager/mod.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/pager/overflow.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/pager/page.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/pager/pager.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/pager/table_page.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/pager/varint.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/pager/wal.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/parser/create.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/parser/insert.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/parser/mod.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/parser/select.rs +0 -0
- {sqlrite-0.1.8 → sqlrite-0.1.9}/src/sql/tokenizer.rs +0 -0
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
# Phase 6f adds build-python-wheels + publish-python.
|
|
10
10
|
# Phase 6g adds build-nodejs-binaries + publish-nodejs.
|
|
11
11
|
# Phase 6h adds publish-wasm.
|
|
12
|
-
# Phase 6i adds publish-go
|
|
12
|
+
# Phase 6i adds publish-go (no registry — git tag + GitHub Release
|
|
13
|
+
# with the FFI tarballs attached for users who want prebuilt
|
|
14
|
+
# libsqlrite_c alongside `go get`).
|
|
13
15
|
#
|
|
14
16
|
# Design doc: docs/release-plan.md.
|
|
15
17
|
# One-time registry / branch-protection setup: docs/release-secrets.md.
|
|
@@ -128,6 +130,7 @@ jobs:
|
|
|
128
130
|
"sqlrite-py-v$V"
|
|
129
131
|
"sqlrite-node-v$V"
|
|
130
132
|
"sqlrite-wasm-v$V"
|
|
133
|
+
"sdk/go/v$V"
|
|
131
134
|
"v$V"
|
|
132
135
|
)
|
|
133
136
|
for tag in "${TAGS[@]}"; do
|
|
@@ -1074,6 +1077,144 @@ jobs:
|
|
|
1074
1077
|
files: sdk/wasm/pkg/*.wasm
|
|
1075
1078
|
generate_release_notes: true
|
|
1076
1079
|
|
|
1080
|
+
# ---------------------------------------------------------------------------
|
|
1081
|
+
# Step 3i: publish the Go SDK. (Phase 6i.)
|
|
1082
|
+
#
|
|
1083
|
+
# Go's distribution model is unique among our publish channels:
|
|
1084
|
+
# there's NO central registry. Go modules pull straight from VCS
|
|
1085
|
+
# via tag, and `go get github.com/joaoh82/rust_sqlite/sdk/go@v0.X.Y`
|
|
1086
|
+
# works the moment a `sdk/go/v0.X.Y` tag is on the remote (modulo
|
|
1087
|
+
# ~minutes of cache lag at proxy.golang.org). The tag is created
|
|
1088
|
+
# by `tag-all` upstream of this job — there's nothing to upload.
|
|
1089
|
+
#
|
|
1090
|
+
# **What this job DOES do:** the binding uses cgo against
|
|
1091
|
+
# `libsqlrite_c` (the C FFI from sqlrite-ffi), so end users
|
|
1092
|
+
# need that shared library on their system to run anything.
|
|
1093
|
+
# We pull the per-platform tarballs that publish-ffi already
|
|
1094
|
+
# uploaded to its release and re-attach them to the Go release
|
|
1095
|
+
# page so Go users have a one-stop-shop:
|
|
1096
|
+
#
|
|
1097
|
+
# `go get github.com/joaoh82/rust_sqlite/sdk/go@vX.Y.Z`
|
|
1098
|
+
# download `libsqlrite_c-<platform>.tar.gz` from the same
|
|
1099
|
+
# release page → set CGO_LDFLAGS / CGO_CFLAGS → `go build`.
|
|
1100
|
+
#
|
|
1101
|
+
# **Tag with slashes:** Go's submodule tag convention is
|
|
1102
|
+
# `<subpath>/vX.Y.Z` — for our module path
|
|
1103
|
+
# `github.com/joaoh82/rust_sqlite/sdk/go`, the canonical tag is
|
|
1104
|
+
# `sdk/go/vX.Y.Z` (slashes intact). GitHub Releases handle
|
|
1105
|
+
# slash-bearing tags fine; the URL just URL-encodes them.
|
|
1106
|
+
publish-go:
|
|
1107
|
+
name: Publish Go SDK GitHub Release
|
|
1108
|
+
needs: [detect, tag-all, publish-ffi]
|
|
1109
|
+
if: needs.detect.outputs.should_release == 'true'
|
|
1110
|
+
runs-on: ubuntu-latest
|
|
1111
|
+
permissions:
|
|
1112
|
+
# For softprops/action-gh-release + gh CLI release-download.
|
|
1113
|
+
contents: write
|
|
1114
|
+
steps:
|
|
1115
|
+
- uses: actions/checkout@v4
|
|
1116
|
+
with:
|
|
1117
|
+
# Need full tag history to verify tag-all's `sdk/go/v$V`
|
|
1118
|
+
# is on the remote.
|
|
1119
|
+
fetch-depth: 0
|
|
1120
|
+
|
|
1121
|
+
# Cheap consistency check that tag-all did its job. If this
|
|
1122
|
+
# fires, something's wrong upstream and the human should
|
|
1123
|
+
# know before we cut a confusingly-named GitHub Release.
|
|
1124
|
+
- name: Verify Go module tag exists
|
|
1125
|
+
run: |
|
|
1126
|
+
V="${{ needs.detect.outputs.version }}"
|
|
1127
|
+
TAG="sdk/go/v$V"
|
|
1128
|
+
if ! git rev-parse "$TAG" >/dev/null 2>&1; then
|
|
1129
|
+
echo "::error::Tag $TAG not found — tag-all should have created + pushed it"
|
|
1130
|
+
exit 1
|
|
1131
|
+
fi
|
|
1132
|
+
echo "Tag $TAG exists at $(git rev-parse --short $TAG)"
|
|
1133
|
+
|
|
1134
|
+
# Pull the tarballs publish-ffi already attached to the
|
|
1135
|
+
# sqlrite-ffi-v<V> release. The `gh release download` flow
|
|
1136
|
+
# avoids re-running the whole publish-ffi build matrix just
|
|
1137
|
+
# to get the artifacts here — it's a single API call with
|
|
1138
|
+
# the workflow's auto-injected GITHUB_TOKEN.
|
|
1139
|
+
- name: Download FFI tarballs from this release wave
|
|
1140
|
+
env:
|
|
1141
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
1142
|
+
run: |
|
|
1143
|
+
V="${{ needs.detect.outputs.version }}"
|
|
1144
|
+
mkdir -p ffi-tarballs
|
|
1145
|
+
gh release download "sqlrite-ffi-v$V" \
|
|
1146
|
+
--repo joaoh82/rust_sqlite \
|
|
1147
|
+
--dir ffi-tarballs \
|
|
1148
|
+
--pattern '*.tar.gz'
|
|
1149
|
+
echo "--- FFI tarballs downloaded ---"
|
|
1150
|
+
ls -la ffi-tarballs/
|
|
1151
|
+
|
|
1152
|
+
# Cut the Go release page. Tag has slashes — softprops handles
|
|
1153
|
+
# that correctly (URL-encodes the slashes in the resulting
|
|
1154
|
+
# release URL).
|
|
1155
|
+
- name: GitHub Release
|
|
1156
|
+
uses: softprops/action-gh-release@v2
|
|
1157
|
+
with:
|
|
1158
|
+
tag_name: sdk/go/v${{ needs.detect.outputs.version }}
|
|
1159
|
+
name: Go SDK v${{ needs.detect.outputs.version }}
|
|
1160
|
+
body: |
|
|
1161
|
+
```bash
|
|
1162
|
+
go get github.com/joaoh82/rust_sqlite/sdk/go@v${{ needs.detect.outputs.version }}
|
|
1163
|
+
```
|
|
1164
|
+
|
|
1165
|
+
```go
|
|
1166
|
+
package main
|
|
1167
|
+
|
|
1168
|
+
import (
|
|
1169
|
+
"database/sql"
|
|
1170
|
+
"fmt"
|
|
1171
|
+
|
|
1172
|
+
_ "github.com/joaoh82/rust_sqlite/sdk/go" // registers "sqlrite" driver
|
|
1173
|
+
)
|
|
1174
|
+
|
|
1175
|
+
func main() {
|
|
1176
|
+
db, _ := sql.Open("sqlrite", ":memory:")
|
|
1177
|
+
defer db.Close()
|
|
1178
|
+
|
|
1179
|
+
_, _ = db.Exec("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)")
|
|
1180
|
+
_, _ = db.Exec("INSERT INTO users (name) VALUES ('alice')")
|
|
1181
|
+
|
|
1182
|
+
rows, _ := db.Query("SELECT id, name FROM users")
|
|
1183
|
+
defer rows.Close()
|
|
1184
|
+
for rows.Next() {
|
|
1185
|
+
var id int64
|
|
1186
|
+
var name string
|
|
1187
|
+
rows.Scan(&id, &name)
|
|
1188
|
+
fmt.Printf("%d: %s\n", id, name)
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
```
|
|
1192
|
+
|
|
1193
|
+
## Prebuilt `libsqlrite_c` (cgo dependency)
|
|
1194
|
+
|
|
1195
|
+
The Go binding uses cgo against the `libsqlrite_c` shared library shipped by [`sqlrite-ffi`](https://github.com/joaoh82/rust_sqlite/tree/main/sqlrite-ffi). The tarballs attached below are the same ones from this release wave's [C FFI release](../../releases/tag/sqlrite-ffi-v${{ needs.detect.outputs.version }}) — provided here so Go users have a one-stop-shop:
|
|
1196
|
+
|
|
1197
|
+
- `sqlrite-ffi-v${{ needs.detect.outputs.version }}-linux-x86_64.tar.gz`
|
|
1198
|
+
- `sqlrite-ffi-v${{ needs.detect.outputs.version }}-linux-aarch64.tar.gz`
|
|
1199
|
+
- `sqlrite-ffi-v${{ needs.detect.outputs.version }}-macos-aarch64.tar.gz`
|
|
1200
|
+
- `sqlrite-ffi-v${{ needs.detect.outputs.version }}-windows-x86_64.tar.gz`
|
|
1201
|
+
|
|
1202
|
+
Extract for your platform, then point cgo at it:
|
|
1203
|
+
|
|
1204
|
+
```bash
|
|
1205
|
+
tar xzf sqlrite-ffi-v${{ needs.detect.outputs.version }}-<platform>.tar.gz
|
|
1206
|
+
export CGO_CFLAGS="-I$(pwd)/sqlrite-ffi-v${{ needs.detect.outputs.version }}-<platform>/include"
|
|
1207
|
+
export CGO_LDFLAGS="-L$(pwd)/sqlrite-ffi-v${{ needs.detect.outputs.version }}-<platform>/lib -lsqlrite_c"
|
|
1208
|
+
export LD_LIBRARY_PATH="$(pwd)/sqlrite-ffi-v${{ needs.detect.outputs.version }}-<platform>/lib"
|
|
1209
|
+
go build ./...
|
|
1210
|
+
```
|
|
1211
|
+
|
|
1212
|
+
(On macOS use `DYLD_LIBRARY_PATH` instead of `LD_LIBRARY_PATH`. On Windows, place the `.dll` next to your binary or on `%PATH%`.)
|
|
1213
|
+
|
|
1214
|
+
See the umbrella release [v${{ needs.detect.outputs.version }}](../../releases/tag/v${{ needs.detect.outputs.version }}) for the full changelog.
|
|
1215
|
+
files: ffi-tarballs/*.tar.gz
|
|
1216
|
+
generate_release_notes: true
|
|
1217
|
+
|
|
1077
1218
|
# ---------------------------------------------------------------------------
|
|
1078
1219
|
# Step 4: create the umbrella GitHub Release. Runs after all
|
|
1079
1220
|
# publish-* jobs succeed. Uses GitHub's native auto-generated
|
|
@@ -1082,7 +1223,7 @@ jobs:
|
|
|
1082
1223
|
# config if we add one later.
|
|
1083
1224
|
finalize:
|
|
1084
1225
|
name: Finalize umbrella release
|
|
1085
|
-
needs: [detect, publish-crate, publish-ffi, publish-desktop, publish-python, publish-nodejs, publish-wasm]
|
|
1226
|
+
needs: [detect, publish-crate, publish-ffi, publish-desktop, publish-python, publish-nodejs, publish-wasm, publish-go]
|
|
1086
1227
|
if: needs.detect.outputs.should_release == 'true'
|
|
1087
1228
|
runs-on: ubuntu-latest
|
|
1088
1229
|
steps:
|
|
@@ -1106,8 +1247,7 @@ jobs:
|
|
|
1106
1247
|
- 🐍 [Python](../../releases/tag/sqlrite-py-v${{ needs.detect.outputs.version }}) → [PyPI](https://pypi.org/project/sqlrite/${{ needs.detect.outputs.version }}/) — abi3-py38 wheels for Linux x86_64/aarch64, macOS aarch64, Windows x86_64 + sdist
|
|
1107
1248
|
- 🟢 [Node.js](../../releases/tag/sqlrite-node-v${{ needs.detect.outputs.version }}) → [npm](https://www.npmjs.com/package/@joaoh82/sqlrite/v/${{ needs.detect.outputs.version }}) — N-API bindings with prebuilt `.node` binaries for Linux x86_64/aarch64, macOS aarch64, Windows x86_64
|
|
1108
1249
|
- 🌐 [WASM](../../releases/tag/sqlrite-wasm-v${{ needs.detect.outputs.version }}) → [npm](https://www.npmjs.com/package/@joaoh82/sqlrite-wasm/v/${{ needs.detect.outputs.version }}) — browser/bundler-target WebAssembly build via wasm-pack
|
|
1109
|
-
|
|
1110
|
-
_Go SDK lands as its publish job comes online (Phase 6i)._
|
|
1250
|
+
- 🐹 [Go SDK](../../releases/tag/sdk%2Fgo%2Fv${{ needs.detect.outputs.version }}) → `go get github.com/joaoh82/rust_sqlite/sdk/go@v${{ needs.detect.outputs.version }}` — `database/sql` driver via cgo against `libsqlrite_c`
|
|
1111
1251
|
|
|
1112
1252
|
---
|
|
1113
1253
|
|
|
@@ -3736,7 +3736,7 @@ dependencies = [
|
|
|
3736
3736
|
|
|
3737
3737
|
[[package]]
|
|
3738
3738
|
name = "sqlrite-desktop"
|
|
3739
|
-
version = "0.1.
|
|
3739
|
+
version = "0.1.9"
|
|
3740
3740
|
dependencies = [
|
|
3741
3741
|
"serde",
|
|
3742
3742
|
"serde_json",
|
|
@@ -3748,7 +3748,7 @@ dependencies = [
|
|
|
3748
3748
|
|
|
3749
3749
|
[[package]]
|
|
3750
3750
|
name = "sqlrite-engine"
|
|
3751
|
-
version = "0.1.
|
|
3751
|
+
version = "0.1.9"
|
|
3752
3752
|
dependencies = [
|
|
3753
3753
|
"clap",
|
|
3754
3754
|
"env_logger",
|
|
@@ -3763,7 +3763,7 @@ dependencies = [
|
|
|
3763
3763
|
|
|
3764
3764
|
[[package]]
|
|
3765
3765
|
name = "sqlrite-ffi"
|
|
3766
|
-
version = "0.1.
|
|
3766
|
+
version = "0.1.9"
|
|
3767
3767
|
dependencies = [
|
|
3768
3768
|
"cbindgen",
|
|
3769
3769
|
"sqlrite-engine",
|
|
@@ -3771,7 +3771,7 @@ dependencies = [
|
|
|
3771
3771
|
|
|
3772
3772
|
[[package]]
|
|
3773
3773
|
name = "sqlrite-nodejs"
|
|
3774
|
-
version = "0.1.
|
|
3774
|
+
version = "0.1.9"
|
|
3775
3775
|
dependencies = [
|
|
3776
3776
|
"napi",
|
|
3777
3777
|
"napi-build",
|
|
@@ -3781,7 +3781,7 @@ dependencies = [
|
|
|
3781
3781
|
|
|
3782
3782
|
[[package]]
|
|
3783
3783
|
name = "sqlrite-python"
|
|
3784
|
-
version = "0.1.
|
|
3784
|
+
version = "0.1.9"
|
|
3785
3785
|
dependencies = [
|
|
3786
3786
|
"pyo3",
|
|
3787
3787
|
"sqlrite-engine",
|
|
@@ -27,7 +27,7 @@ resolver = "3"
|
|
|
27
27
|
# `package =` key so the import name stays `sqlrite` internally:
|
|
28
28
|
# sqlrite = { package = "sqlrite-engine", path = "…" }
|
|
29
29
|
name = "sqlrite-engine"
|
|
30
|
-
version = "0.1.
|
|
30
|
+
version = "0.1.9"
|
|
31
31
|
authors = ["Joao Henrique Machado Silva <joaoh82@gmail.com>"]
|
|
32
32
|
edition = "2024"
|
|
33
33
|
rust-version = "1.85"
|
|
@@ -230,7 +230,7 @@ Lockstep versioning — one dispatch bumps every product to the same `vX.Y.Z`. T
|
|
|
230
230
|
- [ ] **6f — Python SDK publish**: `maturin-action` → abi3 wheels for manylinux x86_64/aarch64 + macOS universal + Windows x86_64 → PyPI via OIDC
|
|
231
231
|
- [ ] **6g — Node.js SDK publish**: `@napi-rs/cli` → `.node` binaries per platform → npm via OIDC
|
|
232
232
|
- [x] **6h — WASM publish**: `wasm-pack build --target bundler --scope joaoh82` + `npm publish --provenance` (OIDC) → `@joaoh82/sqlrite-wasm` on npm. Single job, no matrix (WebAssembly is universal). `.wasm` also attached to the `sqlrite-wasm-v<V>` GitHub Release.
|
|
233
|
-
- [
|
|
233
|
+
- [x] **6i — Go SDK publish**: `sdk/go/vX.Y.Z` git tag (Go modules pull straight from VCS, no registry); GitHub Release at that tag with the FFI tarballs from `publish-ffi` re-attached so Go users have a one-stop-shop. `go get github.com/joaoh82/rust_sqlite/sdk/go@vX.Y.Z` works as soon as the tag is pushed.
|
|
234
234
|
|
|
235
235
|
**Phase 6.1 — Code signing** *(follow-up)*
|
|
236
236
|
- [ ] macOS Apple Developer ID cert → `codesign` + `notarytool` in `tauri-action`
|
|
@@ -441,9 +441,19 @@ The `.wasm` binary is also attached to the `sqlrite-wasm-vX.Y.Z` GitHub Release
|
|
|
441
441
|
|
|
442
442
|
`docs/release-secrets.md` §3 now covers both scoped npm packages with the bootstrap-then-add-trusted-publisher flow we settled on after the v0.1.5–v0.1.7 publish-nodejs debugging cycle.
|
|
443
443
|
|
|
444
|
-
### Phase 6i — Go SDK publish
|
|
444
|
+
### ✅ Phase 6i — Go SDK publish
|
|
445
445
|
|
|
446
|
-
Adds `publish-go` job. No registry —
|
|
446
|
+
Adds `publish-go` job. **No registry to publish to** — Go modules pull straight from VCS via tag (`go get …@vX.Y.Z` resolves the moment the tag is on GitHub, modulo proxy.golang.org cache lag). The job's actual work:
|
|
447
|
+
|
|
448
|
+
1. Verifies `tag-all` pushed `sdk/go/v<V>` (the slash-bearing submodule tag Go modules require for the path `github.com/joaoh82/rust_sqlite/sdk/go`).
|
|
449
|
+
2. Downloads the per-platform `libsqlrite_c-*.tar.gz` tarballs that `publish-ffi` already uploaded to its release.
|
|
450
|
+
3. Re-attaches them to a fresh Go GitHub Release at the `sdk/go/v<V>` tag, so Go users have one page with both the `go get` instructions AND the cgo dependency tarballs.
|
|
451
|
+
|
|
452
|
+
The release body documents the cgo wiring (`CGO_CFLAGS` / `CGO_LDFLAGS` / `LD_LIBRARY_PATH` per platform).
|
|
453
|
+
|
|
454
|
+
**Why this can't fail in interesting ways:** no registry auth, no OIDC, no cross-platform build matrix, no npm-similarity-check theater. Just a tag check + a file download + a release create. The big hidden cost was getting the *upstream* (publish-ffi) right months earlier; this job is mostly orchestration on top.
|
|
455
|
+
|
|
456
|
+
With 6i done, **Phase 6 is complete** — every product distribution channel ships on every release with one human action (Release PR review + merge).
|
|
447
457
|
|
|
448
458
|
### Phase 6.1 — Code signing *(follow-up)*
|
|
449
459
|
|
|
@@ -4,7 +4,7 @@ build-backend = "maturin"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "sqlrite"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.9"
|
|
8
8
|
description = "Python bindings for SQLRite — a small, embeddable SQLite clone written in Rust."
|
|
9
9
|
authors = [{ name = "Joao Henrique Machado Silva", email = "joaoh82@gmail.com" }]
|
|
10
10
|
license = { text = "MIT" }
|
|
@@ -24,7 +24,7 @@ cargo build --release -p sqlrite-ffi # produces target/release/libsqlrite_c.{s
|
|
|
24
24
|
go get github.com/joaoh82/rust_sqlite/sdk/go
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
Phase
|
|
27
|
+
Phase 6i ships prebuilt `libsqlrite_c` tarballs as GitHub Release assets on every release, so end users consuming the Go module don't need the Rust toolchain. Each release at `sdk/go/v<V>` includes per-platform tarballs (Linux x86_64/aarch64, macOS aarch64, Windows x86_64) you can extract and point cgo at via `CGO_CFLAGS` / `CGO_LDFLAGS`.
|
|
28
28
|
|
|
29
29
|
## Quick tour
|
|
30
30
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sqlrite-0.1.8 → sqlrite-0.1.9}/images/SQLRite Simple SQL INSERT Execution High Level Diagram.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|