Skip to content

Commit a28bf08

Browse files
committed
Merge remote-tracking branch 'bend-up/main' into fix/reformat-queryid
2 parents 4c985b5 + 5edf87e commit a28bf08

File tree

34 files changed

+474
-256
lines changed

34 files changed

+474
-256
lines changed
Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
name: Daily Integration Tests
2+
3+
on:
4+
schedule:
5+
- cron: '0 0 * * *'
6+
workflow_dispatch:
7+
pull_request:
8+
branches:
9+
- main
10+
paths:
11+
- '.github/workflows/cron.integration.yml'
12+
13+
concurrency:
14+
group: ${{ github.workflow }}-${{ github.ref }}
15+
cancel-in-progress: true
16+
17+
jobs:
18+
version:
19+
runs-on: ubuntu-latest
20+
outputs:
21+
version: ${{ steps.version.outputs.version }}
22+
steps:
23+
- uses: actions/checkout@v4
24+
- name: Check New Version
25+
id: version
26+
env:
27+
GH_TOKEN: ${{ github.token }}
28+
run: |
29+
version=$(gh api repos/databendlabs/databend/releases --jq '.[0].tag_name')
30+
echo "version=$version" >> $GITHUB_OUTPUT
31+
echo "Running integration tests with Databend version: **$version**" >> $GITHUB_STEP_SUMMARY
32+
33+
integration:
34+
needs: version
35+
runs-on: [self-hosted, Linux, X64, 2c8g, aws]
36+
steps:
37+
- uses: actions/checkout@v4
38+
- uses: ./.github/actions/setup
39+
with:
40+
runner: aws
41+
cache-key: integration
42+
- name: Get License from S3
43+
run: |
44+
aws s3 cp s3://databend-ci/misc/license-trial.key license.key
45+
aws s3 cp s3://databend-ci/misc/license-trial.json license.json
46+
cat license.json
47+
echo "QUERY_DATABEND_ENTERPRISE_LICENSE=$(cat license.key)" >> $GITHUB_ENV
48+
- name: Run Core Integration Tests
49+
run: make -C tests test-core DATABEND_QUERY_VERSION=${{ needs.version.outputs.version }}
50+
- name: Run Driver Integration Tests
51+
run: make -C tests test-driver DATABEND_QUERY_VERSION=${{ needs.version.outputs.version }}
52+
- name: Run BendSQL Integration Tests
53+
run: make -C tests test-bendsql DATABEND_QUERY_VERSION=${{ needs.version.outputs.version }}
54+
55+
build-python:
56+
name: build-python
57+
runs-on: ubuntu-latest
58+
steps:
59+
- uses: actions/checkout@v4
60+
- name: Setup Rust toolchain
61+
uses: ./.github/actions/setup
62+
with:
63+
cache-key: bindings-python-linux-x64
64+
target: x86_64-unknown-linux-gnu
65+
- name: Build wheels
66+
uses: PyO3/maturin-action@v1
67+
with:
68+
working-directory: bindings/python
69+
target: x86_64-unknown-linux-gnu
70+
manylinux: auto
71+
sccache: "true"
72+
args: --release --strip --out dist
73+
- name: Upload artifact
74+
uses: actions/upload-artifact@v4
75+
with:
76+
name: bindings-python
77+
path: bindings/python/dist/*.whl
78+
79+
build-nodejs:
80+
name: build-nodejs
81+
runs-on: ubuntu-latest
82+
steps:
83+
- uses: actions/checkout@v4
84+
- name: Setup Rust toolchain
85+
uses: ./.github/actions/setup
86+
with:
87+
cache-key: bindings-nodejs-linux-x64
88+
target: x86_64-unknown-linux-gnu
89+
- name: Setup node
90+
uses: actions/setup-node@v4
91+
with:
92+
node-version: "22"
93+
- name: Corepack
94+
working-directory: bindings/nodejs
95+
run: npm i -g --force corepack && corepack enable
96+
- name: Install dependencies
97+
working-directory: bindings/nodejs
98+
run: pnpm install
99+
- name: Build
100+
working-directory: bindings/nodejs
101+
shell: bash
102+
env:
103+
NAPI_TARGET: x86_64-unknown-linux-gnu
104+
run: |
105+
pnpm napi build --platform --target=$NAPI_TARGET --release --js generated.js
106+
pnpm node ./scripts/header.js
107+
- uses: actions/upload-artifact@v4
108+
with:
109+
name: bindings-nodejs
110+
path: bindings/nodejs/*.node
111+
112+
integration-python:
113+
needs: [version, build-python]
114+
runs-on: ubuntu-latest
115+
strategy:
116+
matrix:
117+
pyver: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
118+
steps:
119+
- uses: actions/checkout@v4
120+
- name: Setup Python
121+
uses: actions/setup-python@v5
122+
with:
123+
python-version: ${{ matrix.pyver }}
124+
- name: Prepare
125+
working-directory: tests
126+
run: make up DATABEND_QUERY_VERSION=${{ needs.version.outputs.version }}
127+
- name: Download artifact
128+
uses: actions/download-artifact@v4
129+
with:
130+
name: bindings-python
131+
path: bindings/python/artifacts
132+
- name: Install dependencies
133+
working-directory: bindings/python
134+
run: |
135+
pip install behave
136+
pip install artifacts/*.whl
137+
- name: Test AsyncIO
138+
working-directory: bindings/python
139+
run: behave tests/asyncio
140+
- name: Test Blocking
141+
working-directory: bindings/python
142+
run: behave tests/blocking
143+
- name: Test Cursor
144+
working-directory: bindings/python
145+
run: behave tests/cursor
146+
147+
integration-nodejs:
148+
needs: [version, build-nodejs]
149+
runs-on: ubuntu-latest
150+
strategy:
151+
matrix:
152+
ver: ["18", "20", "22"]
153+
steps:
154+
- uses: actions/checkout@v4
155+
- name: Setup node
156+
uses: actions/setup-node@v4
157+
with:
158+
node-version: ${{ matrix.ver }}
159+
- name: Corepack
160+
working-directory: bindings/nodejs
161+
run: npm i -g --force corepack && corepack enable
162+
- name: Install dependencies
163+
working-directory: bindings/nodejs
164+
run: pnpm install
165+
- name: Prepare
166+
working-directory: tests
167+
run: make up DATABEND_QUERY_VERSION=${{ needs.version.outputs.version }}
168+
- name: Download artifact
169+
uses: actions/download-artifact@v4
170+
with:
171+
name: bindings-nodejs
172+
path: bindings/nodejs
173+
- name: Run Tests
174+
working-directory: bindings/nodejs
175+
run: pnpm run test
176+
177+
178+
notify:
179+
if: failure()
180+
needs: [integration, integration-python, integration-nodejs]
181+
runs-on: ubuntu-latest
182+
steps:
183+
- uses: actions/checkout@v4
184+
- name: Notify Dev Team
185+
uses: actions/github-script@v7
186+
env:
187+
WEBHOOK_URL: ${{ secrets.DEV_TEAM_WEBHOOK_URL }}
188+
with:
189+
script: |
190+
const body = {
191+
msg_type: 'text',
192+
content: {
193+
text: '⚠️ BendSQL Integration Tests Failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}',
194+
}
195+
}
196+
const response = await fetch(process.env.WEBHOOK_URL, {
197+
method: 'POST',
198+
body: JSON.stringify(body),
199+
headers: {'Content-Type': 'application/json'}
200+
});
201+
const result = await response.json();
202+
console.log(result);

.github/workflows/publish.yml

Lines changed: 0 additions & 40 deletions
This file was deleted.

.github/workflows/release.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,28 @@ jobs:
101101
gh api '/repos/databendlabs/bendsql/releases' > releases.json
102102
aws s3 cp releases.json s3://repo/bendsql/releases.json --checksum-algorithm=CRC32
103103
104+
crates:
105+
runs-on: ubuntu-latest
106+
needs: build_linux
107+
environment:
108+
name: crates.io
109+
url: https://crates.io/crates/databend-driver
110+
steps:
111+
- uses: actions/checkout@v4
112+
- name: Setup Rust toolchain
113+
uses: ./.github/actions/setup
114+
with:
115+
cache-key: publish
116+
- name: Setup Cargo workspaces
117+
run: |
118+
cargo install cargo-quickinstall
119+
cargo quickinstall cargo-workspaces
120+
- name: Release to crates.io
121+
env:
122+
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
123+
run: |
124+
cargo workspaces publish --all --publish-as-is --yes
125+
104126
distribution:
105127
needs: build_linux
106128
runs-on: ubuntu-latest

Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,18 @@ resolver = "2"
1414

1515
[workspace.package]
1616
edition = "2021"
17-
version = "0.27.2"
17+
version = "0.27.5"
1818
license = "Apache-2.0"
1919
authors = ["Databend Authors <opensource@databend.com>"]
2020
categories = ["database"]
2121
keywords = ["databend", "database", "rust"]
2222
repository = "https://github.com/databendlabs/bendsql"
2323

2424
[workspace.dependencies]
25-
databend-client = { path = "core", version = "0.27.2" }
26-
databend-driver = { path = "driver", version = "0.27.2" }
27-
databend-driver-core = { path = "sql", version = "0.27.2" }
28-
databend-driver-macros = { path = "macros", version = "0.27.2" }
25+
databend-client = { path = "core", version = "0.27.5" }
26+
databend-driver = { path = "driver", version = "0.27.5" }
27+
databend-driver-core = { path = "sql", version = "0.27.5" }
28+
databend-driver-macros = { path = "macros", version = "0.27.5" }
2929

3030
jsonb = { version = "0.5.1" }
3131
tokio-stream = "0.1"

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ Usage: bendsql [OPTIONS]
9090
Options:
9191
--help Print help information
9292
--flight Using flight sql protocol, ignored when --dsn is set
93-
--tls Enable TLS, ignored when --dsn is set
93+
--tls <TLS> Enable TLS, ignored when --dsn is set [possible values: true, false]
9494
-h, --host <HOST> Databend Server host, Default: 127.0.0.1, ignored when --dsn is set
9595
-P, --port <PORT> Databend Server port, Default: 8000, ignored when --dsn is set
9696
-u, --user <USER> Default: root, overrides username in DSN
@@ -165,7 +165,7 @@ prompt = ":) "
165165
| `expand` | Expand table format display, default auto, could be on/off/auto. |
166166
| `time` | Whether to show the time elapsed when executing queries. |
167167
| `multi_line` | Whether to allow multi-line input. |
168-
| `replace_newline` | whether replace '\n' with '\\\n'. |
168+
| `quote_string` | Whether to quote string values in table output format. |
169169

170170
## Commands in REPL
171171

bindings/nodejs/npm/darwin-arm64/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@databend-driver/lib-darwin-arm64",
33
"repository": "https://github.com/databendlabs/bendsql.git",
4-
"version": "0.27.2",
4+
"version": "0.27.5",
55
"os": [
66
"darwin"
77
],

bindings/nodejs/npm/darwin-x64/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@databend-driver/lib-darwin-x64",
33
"repository": "https://github.com/databendlabs/bendsql.git",
4-
"version": "0.27.2",
4+
"version": "0.27.5",
55
"os": [
66
"darwin"
77
],

bindings/nodejs/npm/linux-arm64-gnu/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@databend-driver/lib-linux-arm64-gnu",
33
"repository": "https://github.com/databendlabs/bendsql.git",
4-
"version": "0.27.2",
4+
"version": "0.27.5",
55
"os": [
66
"linux"
77
],

bindings/nodejs/npm/linux-arm64-musl/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@databend-driver/lib-linux-arm64-musl",
33
"repository": "https://github.com/databendlabs/bendsql.git",
4-
"version": "0.27.2",
4+
"version": "0.27.5",
55
"os": [
66
"linux"
77
],

bindings/nodejs/npm/linux-x64-gnu/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@databend-driver/lib-linux-x64-gnu",
33
"repository": "https://github.com/databendlabs/bendsql.git",
4-
"version": "0.27.2",
4+
"version": "0.27.5",
55
"os": [
66
"linux"
77
],

0 commit comments

Comments
 (0)