Skip to content

Commit e88fe79

Browse files
committed
Prepare gcode 0.8.5 and gsqz 0.4.3 release
Refs #179
1 parent 528827a commit e88fe79

8 files changed

Lines changed: 64 additions & 8 deletions

File tree

.github/workflows/release-gcode.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,25 @@ jobs:
2020
with:
2121
components: clippy
2222

23+
- name: Verify tag matches Cargo.toml version
24+
# Guards against tag/crate/release drift: installers resolve a version
25+
# from crates.io and then look for a matching gcode-v{version} GitHub
26+
# asset, so the tag, crate version, and release name must align.
27+
run: |
28+
set -euo pipefail
29+
tag="${GITHUB_REF#refs/tags/}"
30+
tag_version="${tag#gcode-v}"
31+
if [ "$tag" = "$tag_version" ]; then
32+
echo "::error::Tag '$tag' does not start with 'gcode-v'." >&2
33+
exit 1
34+
fi
35+
cargo_version="$(cargo pkgid -p gobby-code | sed 's/.*@//')"
36+
if [ "$tag_version" != "$cargo_version" ]; then
37+
echo "::error::Tag version '$tag_version' does not match crates/gcode/Cargo.toml version '$cargo_version'." >&2
38+
exit 1
39+
fi
40+
echo "Tag '$tag' aligns with crates/gcode/Cargo.toml version '$cargo_version'."
41+
2342
- name: Clippy
2443
run: cargo clippy -p gobby-code -- -D warnings
2544

.github/workflows/release-gsqz.yml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,25 @@ jobs:
2020
with:
2121
components: clippy
2222

23+
- name: Verify tag matches Cargo.toml version
24+
# Guards against tag/crate/release drift: installers resolve a version
25+
# from crates.io and then look for a matching gsqz-v{version} GitHub
26+
# asset, so the tag, crate version, and release name must align.
27+
run: |
28+
set -euo pipefail
29+
tag="${GITHUB_REF#refs/tags/}"
30+
tag_version="${tag#gsqz-v}"
31+
if [ "$tag" = "$tag_version" ]; then
32+
echo "::error::Tag '$tag' does not start with 'gsqz-v'." >&2
33+
exit 1
34+
fi
35+
cargo_version="$(cargo pkgid -p gobby-squeeze | sed 's/.*@//')"
36+
if [ "$tag_version" != "$cargo_version" ]; then
37+
echo "::error::Tag version '$tag_version' does not match crates/gsqz/Cargo.toml version '$cargo_version'." >&2
38+
exit 1
39+
fi
40+
echo "Tag '$tag' aligns with crates/gsqz/Cargo.toml version '$cargo_version'."
41+
2342
- name: Clippy
2443
run: cargo clippy -p gobby-squeeze -- -D warnings
2544

@@ -110,7 +129,7 @@ jobs:
110129
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
111130

112131
release:
113-
needs: build
132+
needs: [build, publish]
114133
runs-on: ubuntu-latest
115134

116135
steps:

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
## [Unreleased]
1111

12+
## [0.8.5] — gcode
13+
1214
### Changed
1315

1416
#### gcode
@@ -18,6 +20,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1820
positional path filters after the query. Bare paths match exact files and
1921
descendants; glob paths stay verbatim; multiple paths use OR semantics.
2022

23+
- **Broker-first PostgreSQL DSN resolution**`gcode` now asks the local
24+
daemon broker for the PostgreSQL hub DSN before consulting any daemonless
25+
fallback. If the broker is unavailable, explicit fallback sources resolve in
26+
this order: `GCODE_DATABASE_URL`, `GOBBY_POSTGRES_DSN`,
27+
`~/.gobby/gcode.yaml` `database_url`, then bootstrap inline `database_url`.
28+
29+
- **Bootstrap `database_url_ref` rejected**`~/.gobby/bootstrap.yaml`
30+
`database_url_ref` values are no longer accepted by `gcode`. Daemonless
31+
setups must provide an inline `database_url` or one of the explicit fallback
32+
sources above; broker-managed secrets stay behind the daemon broker.
33+
2134
### Removed
2235

2336
#### gcode

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ setups can use `GOBBY_FALKORDB_HOST`, `GOBBY_FALKORDB_PORT`, and
9494
broker for the hub DSN first. If the daemon is unavailable, it falls back to
9595
explicit fallback sources: `GCODE_DATABASE_URL`, `GOBBY_POSTGRES_DSN`,
9696
`~/.gobby/gcode.yaml` `database_url`, then bootstrap `database_url`.
97-
Bootstrap fallback requires `hub_backend: postgres`.
97+
Bootstrap fallback requires `hub_backend: postgres`; bootstrap
98+
`database_url_ref` is rejected.
9899
Installing from source or crates.io requires Rust 1.88+.
99100

100101
### From source

crates/gcode/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "gobby-code"
3-
version = "0.8.4"
3+
version = "0.8.5"
44
edition = "2024"
55
rust-version = "1.88"
66
authors = ["Josh Wilhelmi <hello@gobby.ai>"]

crates/gcode/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ asks the local daemon broker for the hub DSN first. If the daemon is
100100
unavailable, it falls back to explicit fallback sources:
101101
`GCODE_DATABASE_URL`, `GOBBY_POSTGRES_DSN`, `~/.gobby/gcode.yaml`
102102
`database_url`, then bootstrap `database_url`. Bootstrap fallback requires
103-
`hub_backend: postgres`.
103+
`hub_backend: postgres`; bootstrap `database_url_ref` is rejected.
104104

105105
### With Gobby
106106

@@ -202,7 +202,7 @@ Gobby adds graph queries, graph lifecycle orchestration, semantic search, and in
202202
**PostgreSQL DSNs can stay out of plaintext files.** Isolated gcode runtimes
203203
ask the daemon broker first. Operators who need daemonless access can opt into
204204
`GCODE_DATABASE_URL`, `GOBBY_POSTGRES_DSN`, `~/.gobby/gcode.yaml`, or inline
205-
bootstrap `database_url`.
205+
bootstrap `database_url`. Bootstrap `database_url_ref` is rejected.
206206

207207
**Indexing happens automatically.** The Gobby daemon watches for file changes and re-indexes in the background. Without the daemon, run `gcode index` manually.
208208

docs/guides/gcode-user-guide.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ Runtime indexing/search requires Gobby's PostgreSQL hub. gcode asks the local
1919
daemon broker for the hub DSN first. If the daemon is unavailable, it falls back
2020
to explicit fallback sources: `GCODE_DATABASE_URL`, `GOBBY_POSTGRES_DSN`,
2121
`~/.gobby/gcode.yaml` `database_url`, then bootstrap `database_url`.
22-
Bootstrap fallback requires `hub_backend: postgres`.
22+
Bootstrap fallback requires `hub_backend: postgres`; bootstrap
23+
`database_url_ref` is rejected.
2324

2425
If you use [Gobby](https://github.com/GobbyAI/gobby), gcode is already installed.
2526

@@ -346,7 +347,7 @@ Use those when you want the daemon to clear or replay graph state for the curren
346347

347348
gcode is daemon-independent but not database-independent:
348349
- Database: PostgreSQL hub from `~/.gobby/bootstrap.yaml`
349-
- Required bootstrap: `hub_backend: postgres` plus `database_url`
350+
- Required bootstrap: `hub_backend: postgres` plus `database_url`; bootstrap `database_url_ref` is rejected
350351
- Identity: `.gobby/project.json`, `.gobby/gcode.json`, isolated root, linked worktree, or generated identity from `gcode init`
351352
- Optional services: FalkorDB, Qdrant, and embeddings via env vars or PostgreSQL `config_store`
352353

@@ -381,6 +382,9 @@ The database connection is resolved in this order:
381382
4. `~/.gobby/gcode.yaml` `database_url`
382383
5. `~/.gobby/bootstrap.yaml` `database_url`
383384

385+
Bootstrap `database_url_ref` is rejected. Use the daemon broker path or an
386+
explicit fallback source for daemonless access.
387+
384388
The daemon URL (used by `invalidate`, `graph clear`, and `graph rebuild`) is resolved from:
385389
1. `GOBBY_PORT` environment variable (e.g. `60887`)
386390
2. `~/.gobby/bootstrap.yaml` `daemon_port` + `bind_host` keys

0 commit comments

Comments
 (0)