Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/pull-request-metadata.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ jobs:
unexpected_files="$(gh api --paginate \
"repos/${GITHUB_REPOSITORY}/pulls/${pull_request}/files" \
--jq '.[].filename' | grep -Ev \
'^(\.release-please-manifest\.json|CHANGELOG\.md|Cargo\.lock|Cargo\.toml|pyproject\.toml|uv\.lock|ui/src/lib/demo/(prepared|recordings)\.json)$' || true)"
'^(\.release-please-manifest\.json|CHANGELOG\.md|Cargo\.lock|Cargo\.toml|pyproject\.toml|uv\.lock|ui/src/lib/demo/recordings\.json)$' || true)"
if [[ -n "${unexpected_files}" ]]; then
echo "Release pull request contains non-metadata changes:" >&2
echo "${unexpected_files}" >&2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ jobs:
exit 1
fi
unexpected_files="$(gh pr view "${release_pr}" --repo "${GITHUB_REPOSITORY}" \
--json files --jq '[.files[].path | select(. != ".release-please-manifest.json" and . != "CHANGELOG.md" and . != "pyproject.toml" and . != "uv.lock" and . != "Cargo.toml" and . != "Cargo.lock" and . != "ui/src/lib/demo/prepared.json" and . != "ui/src/lib/demo/recordings.json")] | join("\n")')"
--json files --jq '[.files[].path | select(. != ".release-please-manifest.json" and . != "CHANGELOG.md" and . != "pyproject.toml" and . != "uv.lock" and . != "Cargo.toml" and . != "Cargo.lock" and . != "ui/src/lib/demo/recordings.json")] | join("\n")')"
if [[ -n "${unexpected_files}" ]]; then
echo "Release pull request contains non-metadata changes:" >&2
echo "${unexpected_files}" >&2
Expand Down
68 changes: 5 additions & 63 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ jobs:
e2e: ${{ steps.scope.outputs.e2e }}
browser: ${{ steps.scope.outputs.browser }}
packaging: ${{ steps.scope.outputs.packaging }}
demo: ${{ steps.scope.outputs.demo }}
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -38,18 +37,16 @@ jobs:
echo "e2e=$2"
echo "browser=$3"
echo "packaging=$4"
echo "demo=$5"
} >> "${GITHUB_OUTPUT}"
}

if [[ "${EVENT_NAME}" != "pull_request" ]]; then
write_scope true true true true true
write_scope true true true true
exit 0
fi

focused=true
packaging=false
demo=false
browser=false
changed=false
while IFS= read -r -d '' path; do
Expand All @@ -59,12 +56,6 @@ jobs:
packaging=true
;;
esac
# What sqt plans and writes, which the UI demo prepared ahead, and what runs it in chdb-wasm.
case "${path}" in
Cargo.*|crates/*|src/sqltide/*|pyproject.toml|uv.lock|ui/scripts/prepare-demo.mjs|ui/scripts/demo-engine.*|ui/scripts/check-demo-readers.mjs|ui/src/lib/demo/*|ui/src/lib/demo-readers/*|website/package*.json|.github/workflows/verify.yml)
demo=true
;;
esac
case "${path}" in
ui/*)
browser=true
Expand All @@ -83,11 +74,11 @@ jobs:
done < <(git diff --name-only -z "${BASE_SHA}" "${HEAD_SHA}")

if [[ "${changed}" != "true" || "${focused}" != "true" ]]; then
write_scope true true true "${packaging}" "${demo}"
write_scope true true true "${packaging}"
exit 0
fi

write_scope false false "${browser}" "${packaging}" "${demo}"
write_scope false false "${browser}" "${packaging}"

checks:
name: Static, UI, and unit checks
Expand Down Expand Up @@ -229,54 +220,6 @@ jobs:
if-no-files-found: error
retention-days: 7

demo:
name: UI demo matches sqt and runs on its engine
needs: changes
if: needs.changes.outputs.demo == 'true'
runs-on: ubuntu-latest
timeout-minutes: 75
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
with:
version: "0.12.3"
enable-cache: true
cache-dependency-glob: uv.lock
- uses: actions/setup-node@v4
with:
# chdb-wasm needs Memory64, which Node has from 23.
node-version: 24
cache: npm
cache-dependency-path: |
ui/package-lock.json
website/package-lock.json
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- uses: Swatinem/rust-cache@v2
- name: Install Python
run: uv python install "$(cat .python-version)"
- name: Install dependencies
run: uv sync --locked --all-groups
- name: Install UI and website dependencies
run: |
make ui-install
cd website && npm ci
- name: Build the UI sqt dev serves
run: make ui-build
- name: Prepare the demo again with sqt and compare
working-directory: ui
env:
SQT: ${{ github.workspace }}/.venv/bin/sqt
run: node scripts/prepare-demo.mjs --check
- name: Compare the demo's warehouse readers with sqt dev
run: node ui/scripts/check-demo-readers.mjs
- name: Run every prepared action on the demo's engine
working-directory: ui
env:
CHDB_WASM: ${{ github.workspace }}/website/node_modules/chdb-wasm
run: npx vitest run --config scripts/demo-engine.config.ts

distributions:
name: Distributions
needs: changes
Expand All @@ -290,7 +233,7 @@ jobs:
verify:
name: Verify
if: always()
needs: [changes, checks, integration, e2e, browser, demo, distributions, website]
needs: [changes, checks, integration, e2e, browser, distributions, website]
runs-on: ubuntu-latest
steps:
- name: Confirm all required verification jobs passed
Expand All @@ -300,7 +243,6 @@ jobs:
INTEGRATION_RESULT: ${{ needs.integration.result }}
E2E_RESULT: ${{ needs.e2e.result }}
BROWSER_RESULT: ${{ needs.browser.result }}
DEMO_RESULT: ${{ needs.demo.result }}
DISTRIBUTIONS_RESULT: ${{ needs.distributions.result }}
WEBSITE_RESULT: ${{ needs.website.result }}
run: |
Expand All @@ -309,7 +251,7 @@ jobs:
exit 1
fi
for result in "${INTEGRATION_RESULT}" "${E2E_RESULT}" "${BROWSER_RESULT}" \
"${DEMO_RESULT}" "${DISTRIBUTIONS_RESULT}"; do
"${DISTRIBUTIONS_RESULT}"; do
if [[ "${result}" != "success" && "${result}" != "skipped" ]]; then
echo "A selected verification suite did not pass: ${result}" >&2
exit 1
Expand Down
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,8 @@ Redpanda. Each project's `README.md` walks through every command; see the
[playground reference](https://sqltide.io/docs/cli/playground/).

To look around the development UI before installing anything, open the
[UI demo](https://sqltide.io/demo/): the same UI in your browser. In desktop Chrome, Edge and
Firefox it runs a real ClickHouse engine in the page, so you can promote a staged change and watch
the query switch.
[UI demo](https://sqltide.io/demo/): the same UI in your browser on recorded example data,
read-only.

![SQLTide lineage view showing an orders pipeline](https://raw.githubusercontent.com/sqlstack-io/sqltide/main/.github/sqltide-ui.png)

Expand Down
5 changes: 0 additions & 5 deletions release-please-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,6 @@
"path": "Cargo.toml",
"jsonpath": "$.workspace.package.version"
},
{
"type": "json",
"path": "ui/src/lib/demo/prepared.json",
"jsonpath": "$.preparedWith"
},
{
"type": "json",
"path": "ui/src/lib/demo/recordings.json",
Expand Down
Loading
Loading