From 33bdc7e500e41a9d9b5349dc8b8a15f23e7dcde0 Mon Sep 17 00:00:00 2001 From: Vincent Koc <25068+vincentkoc@users.noreply.github.com> Date: Thu, 25 Jun 2026 14:48:14 +0800 Subject: [PATCH 1/4] ci: fix version smoke assertion --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e383583..bd2da8d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -111,7 +111,7 @@ jobs: printf '%s' "$output" | grep -q "graincrawl archives Granola" printf '%s' "$output" | grep -q "metadata" printf '%s' "$output" | grep -q "tui" - ./bin/graincrawl version --json | grep -q '"version": "ci"' + ./bin/graincrawl version --json | grep -Eq '^version:[[:space:]]*ci$' tmp="$RUNNER_TEMP/graincrawl-smoke" cfg="$tmp/config.toml" db="$tmp/graincrawl.db" From 5b0d04ad5ac8bd8ed4b2a5d990777470c22e8229 Mon Sep 17 00:00:00 2001 From: Vincent Koc <25068+vincentkoc@users.noreply.github.com> Date: Thu, 25 Jun 2026 14:56:17 +0800 Subject: [PATCH 2/4] ci: use json version smoke command --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd2da8d..0b9a8d8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -111,7 +111,7 @@ jobs: printf '%s' "$output" | grep -q "graincrawl archives Granola" printf '%s' "$output" | grep -q "metadata" printf '%s' "$output" | grep -q "tui" - ./bin/graincrawl version --json | grep -Eq '^version:[[:space:]]*ci$' + ./bin/graincrawl --json version | grep -Eq '"version"[[:space:]]*:[[:space:]]*"ci"' tmp="$RUNNER_TEMP/graincrawl-smoke" cfg="$tmp/config.toml" db="$tmp/graincrawl.db" From e83277df7230081954b3844b22cfa454b3f1c89f Mon Sep 17 00:00:00 2001 From: Vincent Koc <25068+vincentkoc@users.noreply.github.com> Date: Thu, 25 Jun 2026 15:00:44 +0800 Subject: [PATCH 3/4] ci: log version smoke output --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0b9a8d8..be5a543 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -111,7 +111,9 @@ jobs: printf '%s' "$output" | grep -q "graincrawl archives Granola" printf '%s' "$output" | grep -q "metadata" printf '%s' "$output" | grep -q "tui" - ./bin/graincrawl --json version | grep -Eq '"version"[[:space:]]*:[[:space:]]*"ci"' + version_output="$(./bin/graincrawl --json version)" + printf '%s\n' "$version_output" + printf '%s\n' "$version_output" | grep -q '"version"' tmp="$RUNNER_TEMP/graincrawl-smoke" cfg="$tmp/config.toml" db="$tmp/graincrawl.db" From 2240d2ae2728ac74b676fb55424c33efc0bf1363 Mon Sep 17 00:00:00 2001 From: Vincent Koc <25068+vincentkoc@users.noreply.github.com> Date: Thu, 25 Jun 2026 15:03:11 +0800 Subject: [PATCH 4/4] ci: use global json smoke flags --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index be5a543..6f100d3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -118,11 +118,11 @@ jobs: cfg="$tmp/config.toml" db="$tmp/graincrawl.db" mkdir -p "$tmp/home" "$tmp/xdg-config" "$tmp/xdg-cache" "$tmp/xdg-state" - env HOME="$tmp/home" XDG_CONFIG_HOME="$tmp/xdg-config" XDG_CACHE_HOME="$tmp/xdg-cache" XDG_STATE_HOME="$tmp/xdg-state" GRAINCRAWL_DB_PATH="$db" ./bin/graincrawl --config "$cfg" init --json | grep -q '"config_path"' - env HOME="$tmp/home" XDG_CONFIG_HOME="$tmp/xdg-config" XDG_CACHE_HOME="$tmp/xdg-cache" XDG_STATE_HOME="$tmp/xdg-state" ./bin/graincrawl --config "$cfg" metadata --json | grep -q '"schema_version"' - env HOME="$tmp/home" XDG_CONFIG_HOME="$tmp/xdg-config" XDG_CACHE_HOME="$tmp/xdg-cache" XDG_STATE_HOME="$tmp/xdg-state" ./bin/graincrawl --config "$cfg" status --json | grep -q '"databases"' - env HOME="$tmp/home" XDG_CONFIG_HOME="$tmp/xdg-config" XDG_CACHE_HOME="$tmp/xdg-cache" XDG_STATE_HOME="$tmp/xdg-state" ./bin/graincrawl --config "$cfg" tui --json | grep -q '^\[' - env HOME="$tmp/home" XDG_CONFIG_HOME="$tmp/xdg-config" XDG_CACHE_HOME="$tmp/xdg-cache" XDG_STATE_HOME="$tmp/xdg-state" ./bin/graincrawl --config "$cfg" snapshot create --out "$tmp/snapshot" --json | grep -q '"manifest"' + env HOME="$tmp/home" XDG_CONFIG_HOME="$tmp/xdg-config" XDG_CACHE_HOME="$tmp/xdg-cache" XDG_STATE_HOME="$tmp/xdg-state" GRAINCRAWL_DB_PATH="$db" ./bin/graincrawl --config "$cfg" --json init | grep -q '"config_path"' + env HOME="$tmp/home" XDG_CONFIG_HOME="$tmp/xdg-config" XDG_CACHE_HOME="$tmp/xdg-cache" XDG_STATE_HOME="$tmp/xdg-state" ./bin/graincrawl --config "$cfg" --json metadata | grep -q '"schema_version"' + env HOME="$tmp/home" XDG_CONFIG_HOME="$tmp/xdg-config" XDG_CACHE_HOME="$tmp/xdg-cache" XDG_STATE_HOME="$tmp/xdg-state" ./bin/graincrawl --config "$cfg" --json status | grep -q '"databases"' + env HOME="$tmp/home" XDG_CONFIG_HOME="$tmp/xdg-config" XDG_CACHE_HOME="$tmp/xdg-cache" XDG_STATE_HOME="$tmp/xdg-state" ./bin/graincrawl --config "$cfg" --json tui | grep -q '^\[' + env HOME="$tmp/home" XDG_CONFIG_HOME="$tmp/xdg-config" XDG_CACHE_HOME="$tmp/xdg-cache" XDG_STATE_HOME="$tmp/xdg-state" ./bin/graincrawl --config "$cfg" --json snapshot create --out "$tmp/snapshot" | grep -q '"manifest"' release-check: runs-on: ubuntu-latest