fix(sqlite): validate ssh backup and query errors

This commit is contained in:
skyler authored and GitHub committed 2026-08-30 13:30:00 +08:00
1 parent e6f8b2187a
commit 9190554e50
58 files changed
+2815 -149

No files matched your search

+57 -2
View File
@@ -746,6 +746,57 @@ jobs:
name: duckdb-native-${{ matrix.platform }}
path: "release-native/dbx-agent-duckdb-*"
build-sqlite-worker-native:
needs: [bump-versions]
if: ${{ contains(fromJSON(needs.bump-versions.outputs.native_modules), 'sqlite-worker') }}
strategy:
fail-fast: false
matrix:
include:
- runner: ubuntu-22.04
target: x86_64-unknown-linux-musl
platform: linux-x64
rustflags: "-C target-feature=+crt-static"
- runner: ubuntu-22.04-arm
target: aarch64-unknown-linux-musl
platform: linux-aarch64
rustflags: "-C target-feature=+crt-static -C link-arg=-z -C link-arg=max-page-size=65536"
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v5
- name: Setup Rust
uses: dtolnay/rust-toolchain@1.97.1
with:
targets: ${{ matrix.target }}
- name: Install cargo-zigbuild
run: pip3 install cargo-zigbuild
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: "./ -> target"
shared-key: sqlite-worker-${{ matrix.target }}
cache-on-failure: true
- name: Build musl SQLite SSH worker
env:
RUSTFLAGS: ${{ matrix.rustflags }}
run: cargo zigbuild --release -p dbx-sqlite-worker --target ${{ matrix.target }}
- name: Stage SQLite SSH worker
run: |
mkdir -p release-native
cp \
"target/${{ matrix.target }}/release/dbx-sqlite-worker" \
"release-native/dbx-agent-sqlite-worker-${{ matrix.platform }}"
- uses: actions/upload-artifact@v4
with:
name: sqlite-worker-native-${{ matrix.platform }}
path: "release-native/dbx-agent-sqlite-worker-*"
build-tdengine-native:
needs: [bump-versions]
if: ${{ contains(fromJSON(needs.bump-versions.outputs.native_modules), 'tdengine') }}
@@ -966,7 +1017,7 @@ jobs:
retention-days: 1
release:
needs: [bump-versions, commit-versions, build-agents, build-oracle-native, build-xugu-native, build-rabbitmq-native, build-rocketmq-native, build-zookeeper-native, build-cassandra-native, build-hive-native, build-kingbase-native, build-vastbase-native, build-neo4j-native, build-iotdb-native, build-duckdb-native, build-tdengine-native, build-jre, reuse-previous-assets]
needs: [bump-versions, commit-versions, build-agents, build-oracle-native, build-xugu-native, build-rabbitmq-native, build-rocketmq-native, build-zookeeper-native, build-cassandra-native, build-hive-native, build-kingbase-native, build-vastbase-native, build-neo4j-native, build-iotdb-native, build-duckdb-native, build-sqlite-worker-native, build-tdengine-native, build-jre, reuse-previous-assets]
if: ${{ always() && !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
runs-on: ubuntu-latest
steps:
@@ -1091,6 +1142,7 @@ jobs:
kingbase) echo "金仓KingbaseES" ;;
vastbase) echo "Vastbase" ;;
duckdb) echo "DuckDB" ;;
sqlite-worker) echo "SQLite SSH Worker" ;;
xugu) echo "虚谷 XuguDB" ;;
rabbitmq) echo "RabbitMQ" ;;
rocketmq) echo "Apache RocketMQ" ;;
@@ -1163,7 +1215,7 @@ jobs:
[ -n "$DRIVERS" ] && DRIVERS="${DRIVERS},"$'\n'
DRIVERS="${DRIVERS}$(generate_jar_entry "$name" "$label" "$f" "$jre_key" "$version" "$external_driver" "$native_json")"
done
for name in oracle xugu kingbase vastbase neo4j iotdb duckdb rabbitmq rocketmq zookeeper cassandra hive tdengine; do
for name in oracle xugu kingbase vastbase neo4j iotdb duckdb sqlite-worker rabbitmq rocketmq zookeeper cassandra hive tdengine; do
version=$(get_module_version "$name")
[ -f "release/dbx-agent-${name}-${version}.jar" ] && continue
native_json=$(generate_native_platforms "$name" "$version")
@@ -1243,6 +1295,7 @@ jobs:
kingbase) echo "金仓KingbaseES" ;;
vastbase) echo "Vastbase" ;;
duckdb) echo "DuckDB" ;;
sqlite-worker) echo "SQLite SSH Worker" ;;
oracle) echo "Oracle" ;;
xugu) echo "虚谷 XuguDB" ;;
rabbitmq) echo "RabbitMQ" ;;
@@ -1285,6 +1338,8 @@ jobs:
LOG_PATH="agents/drivers/neo4j-go/"
elif [ "$name" = "iotdb" ]; then
LOG_PATH="agents/drivers/iotdb/"
elif [ "$name" = "sqlite-worker" ]; then
LOG_PATH="crates/dbx-sqlite-worker/"
elif [ -d "agents/drivers/$name" ]; then
LOG_PATH="agents/drivers/$name/"
else