Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
473 commits
Select commit Hold shift + click to select a range
0058801
Remove the remaining LLVM-JIT code and fix code affected by removing …
Jun 23, 2026
3f1fbb8
Replace LLVM-JIT PL with a tree-walking interpreter PL (#919)
Jun 25, 2026
289912f
pl: replace the LLVM ORC-JIT executor with a tree-walking interpreter
Jun 11, 2026
8bd8ab7
[seekdb][memory] Reduce glibc and CoStack fragmentation (#928)
Jun 25, 2026
d10cb3d
[seekdb][storage] Reduce SHARE_BLOCK resident memory (#929)
Jun 25, 2026
e2b7c7a
[storage][sql] cut compile long-tail via extern template + ALONE spli…
Jun 25, 2026
ef9bba8
chore: fix drift between internal and public master
Jun 25, 2026
3609383
tenant: single-tenant refactor + unittest compile/runtime fixes (#939)
Jun 26, 2026
4766519
Migrate auto-generated inner_table files to CMake build-time generati…
Jun 26, 2026
dd98b67
Remove disk error isolation logic
Jun 25, 2026
479d848
Remove unused OFS block verify config checker (#941)
Jun 26, 2026
5cbb471
chore: fix drift between internal and public master
Jun 26, 2026
b98d2aa
cleanup: single-tenant single-node — drop multi-tenant/node residue +…
Jun 29, 2026
fa3579b
[seekdb][pl] Fix DBMS index refresh in embedded mode (#942)
Jun 29, 2026
ad1bb66
fix mac compilation (#943)
Jun 29, 2026
70f3ea7
cleanup: single-tenant single-node — drop multi-tenant/node residue +…
Jun 25, 2026
d700f21
[sql] fix PX-budget hold-and-wait deadlock: admit PX just before exec…
Jun 29, 2026
81319d8
chore: fix drift between internal and public master
Jun 29, 2026
875e09f
[seekdb][lib] Fix lbt addr2line for non-PIE executables (#931)
Jun 30, 2026
22b7c24
Fix compilation in non-unity build (#932)
Jun 30, 2026
9d92a8c
fix(pl): release interpreter call temps
Jun 29, 2026
4387aac
fix windows compilation errors and adapt to jit deletion (#950)
Jun 30, 2026
fb55d33
chore: fix drift between internal and public master
Jun 30, 2026
465a8ef
ci(oceanbase-lite): migrate farm2 pipeline to GitLab CI (#875)
Jul 1, 2026
cf0ddf5
Remove BOLT; link seekdb directly; trim stale profiles (#951)
Jul 1, 2026
1e6936f
fix vector hgraph snapshot key prefix (#952)
Jul 1, 2026
e839f65
[pl] remove obsolete compile code paths (#957)
Jul 1, 2026
eda10cf
fix(storage): remove checkpoint diagnose residue (#958)
Jul 1, 2026
1e0b435
chore: fix drift between internal and public master
Jul 2, 2026
b66d291
module-boundary: consolidate dependency cleanup (#967)
Jul 2, 2026
c929b2f
chore: fix drift between internal and public master
Jul 6, 2026
7746588
Hide diagnostic warning logs in release builds (#972)
Jul 6, 2026
1a661dc
chore: fix drift between internal and public master
Jul 6, 2026
fcd16cf
ci(seekdb): Extend GitLab artifact expire_in to 10 days (#982)
Jul 6, 2026
edbbaa4
fix macOS build failure caused by ulong (#984)
Jul 6, 2026
2b0f30e
modify action (#985)
Jul 6, 2026
f7d43a1
chore: fix drift between internal and public master
Jul 6, 2026
19f5fbb
[oblib] Add ordinary purge for free blocks (#953)
Jul 7, 2026
fd5c522
Merge remote-tracking branch 'origin/master' into task/20260623001169…
Jul 7, 2026
aad8628
disable THP for exec text (#983)
Jul 7, 2026
8a44a90
Fix bootstrap telemetry lost on fast embedded exit (#986)
Jul 7, 2026
5fdd176
chore: fix drift between internal and public master
Jul 7, 2026
e74760f
fix(pl): pass cursor sql as ObString
Jul 7, 2026
ff10487
Add LLVM Source-based Code Coverage Support (#959)
Jul 9, 2026
6bccabc
clang source-based coverage: --coverage flag, -Wl,-u keep-flags, work…
Jun 23, 2026
405dfd3
Remove palf log cold cache (#1001)
Jul 9, 2026
c4742e6
[seekdb][pl] Avoid static SQL buffer leak (#1002)
Jul 9, 2026
62a2bea
Remove legacy OceanBase protocol support (#1003)
Jul 9, 2026
0404d92
chore: fix drift between internal and public master
Jul 9, 2026
4d1da7f
[seekdb][vector index] Fix schema mgr GC and validate VSAG params (#1…
Jul 13, 2026
c3f0b66
Optimize major merge scheduling latency (#1029)
Jul 13, 2026
84040d3
Remove legacy full-link trace diagnostics (#1030)
Jul 13, 2026
8c58b9e
Remove hashtable index from memtable (#1031)
Jul 13, 2026
247d766
Remove Lua diagnose execution (#1032)
Jul 13, 2026
9263cfe
Remove legacy resource isolation code (#1033)
Jul 13, 2026
4fc819b
fix pre-main THP initialization reentry
Jul 10, 2026
8d49c42
Remove thread TG framework (#1034)
Jul 13, 2026
f5bd9b8
fix pre-main THP initialization reentry (#1035)
Jul 13, 2026
76a7da6
remove constant-condition dead code (#1036)
Jul 13, 2026
7221236
Remove transfer residual infrastructure
Jul 10, 2026
1fdbf51
chore: fix drift between internal and public master
Jul 13, 2026
0033ede
Remove obsolete flashback functionality (#1047)
Jul 14, 2026
7a3a788
chore: fix drift between internal and public master
Jul 14, 2026
dcc6658
ci: distinguish empty mysqltest infrastructure retries (#1087)
Jul 16, 2026
0a373ba
[seekdb][build] Remove obsolete embedded and lite build modes (#1039)
Jul 16, 2026
51cb986
refactor: remove multi-log-stream architecture (#1049)
Jul 16, 2026
51ced01
Remove materialized view functionality (#1050)
Jul 16, 2026
fbf7958
Remove ObStorageLoggerManager and move slog lifecycle into storage me…
Jul 16, 2026
10eaff9
chore: fix drift between internal and public master
Jul 16, 2026
ddb528d
Merge branch 'master' into task/2026071300117387790
Jul 16, 2026
596fa8b
Remove partition split && dynamic partition (#1097)
Jul 17, 2026
ec38abd
Fix MDS binding IDs after feature removals
Jul 17, 2026
d0807b1
Fix farm pretest and sensitive scan failures
Jul 17, 2026
c0b94eb
Merge branch 'master' into task/2026070700117246443
Jul 18, 2026
fa2ba96
Remove obsolete system-variable features
Jul 17, 2026
67ed1fa
Fix regressions exposed by farm
Jul 18, 2026
ac7cea7
Delete AP (#1048)
Jul 20, 2026
2ef22e9
Remove direct load functionality (#1099)
Jul 20, 2026
5e2643b
Remove direct load functionality
Jul 16, 2026
66f8f97
Remove SQL plan monitor global state (#1148)
Jul 20, 2026
dd1dd9d
Remove obsolete feature-gated code
Jul 17, 2026
c1655f9
Remove obsolete feature-gated code (#1149)
Jul 20, 2026
897834b
Merge branch 'master' into task/2026071300117387790
Jul 17, 2026
b061036
Remove obsolete system-variable features (#1150)
Jul 20, 2026
98d9ecc
refactor: remove deprecated features and dependencies
Jul 14, 2026
c7c6215
logservice: remove unused external storage handler (#1151)
Jul 20, 2026
e38f2c7
refactor: remove deprecated features and dependencies (#1152)
Jul 20, 2026
98f1c5e
refactor: remove unused HA and distributed scaffolding (#1153)
Jul 20, 2026
9ebe63a
chore: fix drift between internal and public master
Jul 20, 2026
901250e
fix spurious EDIAG in btree and log io
Jul 20, 2026
6622320
refactor: remove legacy CDC data dictionary and liboblog remnants (#1…
Jul 21, 2026
d2157bb
Merge remote-tracking branch 'origin/master' into issue/2026070800117…
Jul 20, 2026
6478a53
Remove obsolete SeekDB inner tables (#1158)
Jul 21, 2026
d65d43b
chore: fix drift between internal and public master
Jul 21, 2026
0024e04
[seekdb][thread] Remove obsolete DDL queue threads (#1164)
Jul 22, 2026
a44c776
Fix HA diagnose row lifetime (#1166)
Jul 22, 2026
5dbbdf2
Fixed seekdb macOS compilation bug (#1167)
Jul 22, 2026
92452a6
chore: fix drift between internal and public master
Jul 22, 2026
4812d15
test: stabilize mysqltest results across platforms
Jul 23, 2026
83c1582
refactor: remove dup table support (#1165)
Jul 23, 2026
32d3287
chore: fix drift between internal and public master
Jul 23, 2026
9c19060
Remove obsolete SQL plan baseline remnants
Jul 23, 2026
4c00382
refactor: prune legacy compatibility code for standalone seekdb
Jul 23, 2026
4a1cb68
fix farm3
Jul 26, 2026
fed273f
refactor: remove unsupported distributed features
Jul 22, 2026
7cbb8b0
fix farm5
Jul 26, 2026
3af8f0d
fix(sql): preserve scalar assignment output evaluation
Jul 26, 2026
5ddf26f
Fix ObEmptyReadBucket size to 16384 buckets (#1188)
Jul 27, 2026
96b2f48
Remove the schema sys cache and formalize schema fetch dependencies (…
Jul 27, 2026
62fd2cf
Advertise autocommit in MySQL handshake (#1100)
Jul 27, 2026
71937e6
refactor: remove unsupported distributed features (#1177)
Jul 27, 2026
98e3df3
refactor: remove XA transaction support (#1179)
Jul 27, 2026
983f9d6
Fix hybrid search to inherit caller session context
Jul 22, 2026
37862d1
refactor: remove plugin framework (#1189)
Jul 27, 2026
8658c92
Merge branch 'master' into task/2026072300117686580
Jul 24, 2026
c2def11
refactor: prune legacy compatibility code for standalone seekdb (#1191)
Jul 27, 2026
6fc7a6a
Fix vsag-related mac case (#1192)
Jul 27, 2026
0cf1ee0
chore: fix drift between internal and public master
Jul 27, 2026
493fb6f
fix(farm): stabilize assignment execution and batch DML drain
Jul 27, 2026
683aee4
[seekdb][memory] Reduce small-object memory overhead (#1038)
Jul 27, 2026
4c793e8
Merge branch 'master' into issue/2026072200117650903
Jul 27, 2026
d1eb758
[seekdb][storage] Event-driven snapshot GC renewal (#1169)
Jul 28, 2026
5fbefb6
Fix mac val cast problem (#1200)
Jul 28, 2026
d34214c
chore: fix drift between internal and public master
Jul 28, 2026
30e1968
remove static cast
Jul 28, 2026
344a54d
Update distribution source file references
Jul 28, 2026
2b617d7
Reduce local task queue memory usage
Jul 28, 2026
127eda6
fix(mysqltest): clean up residual test state
Jul 28, 2026
8d37034
revert(mysqltest): remove cleanup-related case changes
Jul 29, 2026
ddb064c
Replace sys task status array with dynamic linked list
Jul 29, 2026
37e19b7
Replace fixed-size comment buffer with ObString
Jul 29, 2026
52f2f5c
Merge branch 'master' into issue/2026072200117650903
Jul 29, 2026
ee59940
refactor: remove unsupported enum-driven features
Jul 29, 2026
55973c5
docs: remove internal yuque links from review
Jul 29, 2026
8b982d5
fix: align tests after feature removal
Jul 29, 2026
0b1edf8
Fix uniform/normal distribution function for macOS (#1193)
Jul 30, 2026
6e538cd
fix: remove obsolete macOS trigger prepare workaround (#1194)
Jul 30, 2026
cbcea2b
refactor(sql): remove rich vectorization engine 2.0 (#1195)
Jul 30, 2026
a612b57
remove unused WorkerMap resource tracking (#1208)
Jul 30, 2026
474f49e
fix: handle stale routine definers in macOS mysqltests (#1209)
Jul 30, 2026
de841c6
fix farm2
Jul 25, 2026
3e877d7
Trim unsupported seekdb features (#1210)
Jul 30, 2026
9b30441
Merge remote-tracking branch 'origin/master' into issue/2026072700117…
Jul 29, 2026
548961a
Optimize sys task status memory with linked storage and dynamic comme…
Jul 30, 2026
6cc8920
Merge branch 'master' into issue/2026072200117650903
Jul 29, 2026
092a503
refactor: remove unsupported enum-driven features (#1222)
Jul 30, 2026
7573c5a
chore: fix drift between internal and public master
Jul 30, 2026
59710eb
Remove idle caching from inner SQL connection pool
Jul 23, 2026
8db7535
Move inner SQL client tracking from connections to sessions
Jul 24, 2026
301e8a5
Move inner SQL connection lifecycle out of connection pool
Jul 24, 2026
4ba1b28
Bypass connection pool for session-bound inner SQL connections
Jul 24, 2026
7aa86f2
Remove inner SQL connection pools and inject lifecycle callbacks
Jul 24, 2026
9c09c99
Remove obsolete per-client inner SQL inactivity handling
Jul 27, 2026
b76fba0
Replace inner SQL lifecycle callbacks with weak symbols
Jul 27, 2026
0c49afd
Fix build regressions after inner SQL pool removal
Jul 27, 2026
69f20bc
Remove obsolete inner SQL connection and session pooling logic
Jul 27, 2026
bb69abc
Manage inner SQL connections with shared guards
Jul 28, 2026
07d154d
Derive stable UUID from machine ID and base directory (#1230)
Jul 31, 2026
7d764cc
Fix unstable compaction mysqltest (#1198)
Jul 31, 2026
dd9cf34
Remove Inner SQL Connection and Session Pool Caching (#1207)
Jul 31, 2026
2d4aeaf
fix: resolve macOS seekdb build ambiguity (#1226)
Jul 31, 2026
6d0fe57
refactor: trim obsolete error-code feature paths (#1233)
Jul 31, 2026
393d26b
derive stable UUID from container identity
Jul 30, 2026
e24f956
chore: fix drift between internal and public master
Jul 31, 2026
d32d907
refactor template (#1231)
Aug 3, 2026
c92f0e7
Fix mini mode memory and thread regressions (#1234)
Aug 3, 2026
9af658c
Fix DDL stats sync retry on gather stats lock conflict
Jul 29, 2026
684e8c2
fix log timestamp formatting performance (#1241)
Aug 3, 2026
1bcb22b
refactor(sql): remove legacy distributed execution framework (#1242)
Aug 3, 2026
1bdebcc
chore: fix drift between internal and public master
Aug 3, 2026
2e55564
Remove virtual thread case (#1249)
Aug 4, 2026
6628b4e
Fix GIS and sort problem in macOS (#1243)
Aug 4, 2026
7eb5166
Make system config a reload-scoped snapshot (#1244)
Aug 4, 2026
1e0c246
migrate Mysql protocol and sql nio to rust (#1246)
Aug 4, 2026
3a4b18f
Remove obsolete virtual thread diagnostic table
Aug 3, 2026
c245d37
test: remove platform-sensitive st_buffer checks (#1250)
Aug 4, 2026
d85e2d3
migrate Mysql protocol and sql nio to rust
Jul 31, 2026
6f152b6
derive default memory budget from physical memory (#1005)
Aug 6, 2026
841db75
refactor: remove unused freeze thread pool (#1259)
Aug 6, 2026
b24abe0
chore: fix drift between internal and public master
Aug 6, 2026
073e9b2
chore: fix drift between internal and public master
Aug 7, 2026
1046eb5
fix farm
Aug 7, 2026
49595b7
refactor(log): reduce diagnostic logs for lightweight standalone depl…
Aug 8, 2026
3113555
fix(cache): restore allocation-time KV cache washing
Aug 9, 2026
18481d6
fix(schema): use core version for server runtime
Aug 8, 2026
2bcf351
fix(tx): preserve recovered context on old redo replay
Aug 8, 2026
eae55a2
fix(tx): restore checkpoint checksum state
Aug 8, 2026
7b219c7
fix(cache): restore allocation-time KV cache washing
Aug 9, 2026
bfa5e87
fix(cache): recover allocation pressure without hard quota
Aug 9, 2026
b8adbe6
refactor standby replication lifecycle
Aug 8, 2026
b570160
Restore and encapsulate standby support
Aug 7, 2026
29895fd
refactor standby replication lifecycle
Aug 8, 2026
472857a
Refactor standby role transitions for restart activation
Aug 9, 2026
0ef9a9d
Implement one-way online standby promotion
Aug 9, 2026
20029ed
Deepen standby module ownership
Aug 9, 2026
2cf22aa
fix compile
Aug 9, 2026
f293a09
Fix standby Farm regressions
Aug 10, 2026
bebd79e
Fix server stat schema snapshot
Aug 10, 2026
64efc45
Implement one-way online standby promotion
Aug 9, 2026
cdf032c
Deepen standby module ownership
Aug 9, 2026
fe7cfb1
Fix standby Farm regressions
Aug 10, 2026
5fbd96e
Fix server stat schema snapshot
Aug 10, 2026
ee13ccd
Refactor standby role transitions for restart activation
Aug 9, 2026
2a0749f
Implement one-way online standby promotion
Aug 9, 2026
53c2723
Deepen standby module ownership
Aug 9, 2026
71c0ac5
fix compile
Aug 9, 2026
737b107
Fix standby Farm regressions
Aug 10, 2026
9a73f09
Fix server stat schema snapshot
Aug 10, 2026
5a8f732
Fix stale optimizer header inventory
Aug 10, 2026
ad4b27d
fix(sql): refresh plan cache accounting CAS value
Aug 10, 2026
46658ab
fix(vector): use legacy VSAG serialization format
Aug 11, 2026
8b4087c
Restore runtime gate for standby gRPC service
Aug 11, 2026
8f96ded
refactor(sql): remove non-vectorized execution mode (#1256)
Aug 11, 2026
d64a390
build: migrate SeekDB to native Bazel modules (#1258)
Aug 11, 2026
99f70bb
refactor(log): reduce diagnostic logs for lightweight standalone depl…
Aug 11, 2026
38bd9c6
[seekdb][memory] Refine jemalloc integration and module memory limits…
Aug 12, 2026
5c7e79d
fix(build): stabilize migrated runtime and CI
Aug 5, 2026
e42d7ee
fix schema stats after tablet replacement
Aug 12, 2026
296e1d0
fix(storage): retry transient tablet autoincrement failures (#1285)
Aug 12, 2026
f696d0d
Merge branch 'master' into task/2026072400117723828
Aug 8, 2026
5279795
fix: Fix seekdb restart replay failure (#1286)
Aug 12, 2026
db2e75f
Restore and encapsulate standby support
Aug 7, 2026
8d0cc2f
Recovery physical-standby (#1287)
Aug 12, 2026
6107a1e
Place login requests in a high-priority queue to prevent starvation. …
Aug 12, 2026
39abe39
[seekdb][log] Redirect standard streams to seekdb.log (#1289)
Aug 12, 2026
c949e75
Restore runtime gate for standby gRPC service (#1290)
Aug 12, 2026
30b85b9
[seekdb][tx] Keep commit retry task after accepted request (#1291)
Aug 12, 2026
c0674a3
fix schema stats after tablet replacement
Aug 12, 2026
83953af
[seekdb][PX] Downgrade admission to available workers (#1292)
Aug 12, 2026
6ecdb53
Recovery Physical Standby (#1294)
Aug 12, 2026
8b95604
fix(sql): refresh plan cache accounting CAS value (#1295)
Aug 12, 2026
50306fb
fix(vector): use legacy VSAG serialization format (#1296)
Aug 12, 2026
1904e02
[seekdb][tx] Keep commit retry task after accepted request (#1297)
Aug 12, 2026
b0eb66b
storage: defer tablet macro info loading for truncated metadata (#1298)
Aug 12, 2026
f988c86
fix(tx): preserve recovered context on old redo replay
Aug 8, 2026
6599799
[seekdb][MDS] Fix buffer context deep copy traversal (#1299)
Aug 13, 2026
91bb9a6
[seekdb][version] Upgrade version to 1.4.0 (#1300)
Aug 13, 2026
ccc9f9c
fix(sql-nio): restore TLS account authentication semantics
Aug 13, 2026
304cef2
[seekdb][PX] Downgrade admission to available workers (#1301)
Aug 14, 2026
38dfebf
[seekdb][optimizer] Retry schema stats after tablet replacement (#1302)
Aug 14, 2026
40fb30f
fix: downgrade expected stability logs to warn (#1303)
Aug 14, 2026
a7ba924
Deduplicate partition columns for local index build (#1293)
Aug 14, 2026
be7a258
Merge branch 'master' into task/2026072400117723828
Aug 9, 2026
d6aa37f
[standby] Use process UUID for promotion cycle detection (#1304)
Aug 14, 2026
dba895c
Validate SQLite guard before transaction cleanup (#1305)
Aug 14, 2026
d5698af
chore: fix drift between internal and public master
Aug 14, 2026
92dc407
chore: fix drift between internal and public master
Aug 17, 2026
06fc756
[seekdb][memory] respect cgroup memory limits in defaults (#1309)
Aug 18, 2026
1ec25a0
[seekdb][transaction] Allocate log callbacks on demand (#1310)
Aug 18, 2026
6251aa9
support sanity with jemalloc
Aug 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
18 changes: 15 additions & 3 deletions .akfarm
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,19 @@ pretest
mysqltest_for_standalone
sysbench_for_standalone
bmsqltest_for_standalone
tpch_for_standalone
vostest
!vostest
ddlmigrate_lite
ddltest_duomo
multi_modal_test
stress_duomo
bigtrans_lite
obtrade_lite
ps5_lite
obrqg_lite
pass_pl_lite
pquery
sqlancer_lite
obstress_job
batch_dml_lite
obtest
objdbctest
!objdbctest
3 changes: 2 additions & 1 deletion .akperformancetest
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
sysbench_obp
bmsqltest_obp
tpch_obp
sysbench_prepare
obstresslocality
bigtrx


17 changes: 17 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Shared settings for the seekdb Bazel build.
common --lockfile_mode=error
build --verbose_failures
build --workspace_status_command=./tools/bazel_migration/workspace_status.sh
build --enable_platform_specific_config
# Release-compatible O2 is the default. O1 uses fastbuild only as its output
# configuration; the explicit copt also makes O1 portable to the native macOS
# toolchain, whose fastbuild flags are not repository-owned.
build --compilation_mode=opt
build --force_pic
build:O1 --compilation_mode=fastbuild
build:O1 --copt=-O1
build:O2 --compilation_mode=opt
build:macos --macos_minimum_os=13.0

# Native shorthand for the orthogonal custom memory-safety build setting.
build --flag_alias=sanity=//bazel:enable_sanity
1 change: 1 addition & 0 deletions .bazelversion
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
8.2.1
103 changes: 103 additions & 0 deletions .github/actions/setup-rust/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Copyright (c) 2025 OceanBase.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: Setup Rust
description: Install the Rust toolchain required by the seekdb build

inputs:
crates-mirror:
description: >-
Route crates.io downloads through the rsproxy.cn mirror. Set to 'true'
on runners that already need the rsproxy rustup mirror (RUSTUP_DIST_SERVER
etc.); without this, `cargo build` still fetches crates from
static.crates.io over the unmirrored path.
required: false
default: 'false'
cache:
description: Cache the cargo registry (and installed cargo tools) keyed on Cargo.lock.
required: false
default: 'true'

runs:
using: composite
steps:
- name: Install Rust toolchain
shell: bash
working-directory: ${{ github.workspace }}/rust
run: |
set -euo pipefail

if ! command -v rustup >/dev/null 2>&1 || ! command -v cargo >/dev/null 2>&1; then
install_root="${RUNNER_TEMP:-${TMPDIR:-/tmp}}/seekdb-rust"
export CARGO_HOME="${CARGO_HOME:-$install_root/cargo}"
export RUSTUP_HOME="${RUSTUP_HOME:-$install_root/rustup}"
export PATH="$CARGO_HOME/bin:$PATH"
mkdir -p "$install_root" "$CARGO_HOME" "$RUSTUP_HOME"

rustup_init="$install_root/rustup-init.sh"
rustup_init_url="${RUSTUP_INIT_URL:-https://sh.rustup.rs}"
if command -v curl >/dev/null 2>&1; then
curl --proto '=https' --tlsv1.2 --retry 3 --fail --silent \
--show-error --location "$rustup_init_url" --output "$rustup_init"
elif command -v wget >/dev/null 2>&1; then
wget --tries=3 --quiet -O "$rustup_init" "$rustup_init_url"
else
echo "setup-rust: curl or wget is required" >&2
exit 1
fi
sh "$rustup_init" -y --profile minimal --default-toolchain none \
--no-modify-path

fi

# Export the homes unconditionally so later steps (mirror config,
# registry cache) can rely on them even when rustup pre-existed.
export CARGO_HOME="${CARGO_HOME:-$HOME/.cargo}"
export RUSTUP_HOME="${RUSTUP_HOME:-$HOME/.rustup}"
{
echo "CARGO_HOME=$CARGO_HOME"
echo "RUSTUP_HOME=$RUSTUP_HOME"
} >> "$GITHUB_ENV"

rustup_bin_dir="$(dirname "$(command -v rustup)")"
export PATH="$rustup_bin_dir:$PATH"
echo "$rustup_bin_dir" >> "$GITHUB_PATH"
RUSTUP_AUTO_INSTALL=1 cargo --version
rustc --version

- name: Route cargo through the rsproxy crates mirror
if: inputs.crates-mirror == 'true'
shell: bash
run: |
set -euo pipefail
mkdir -p "$CARGO_HOME"
cat >> "$CARGO_HOME/config.toml" <<'EOF'
[source.crates-io]
replace-with = "rsproxy-sparse"
[source.rsproxy-sparse]
registry = "sparse+https://rsproxy.cn/index/"
EOF

# NOTE: needs a node20-capable runner (same constraint as the ccache action
# pin in buildbase); disable via `cache: 'false'` on runners that cannot.
- name: Cache cargo registry
if: inputs.cache == 'true'
uses: actions/cache@v4
with:
path: |
${{ env.CARGO_HOME }}/registry/index
${{ env.CARGO_HOME }}/registry/cache
${{ env.CARGO_HOME }}/bin
key: cargo-${{ runner.os }}-${{ hashFiles('rust/Cargo.lock', 'rust/rust-toolchain.toml') }}
restore-keys: cargo-${{ runner.os }}-
17 changes: 11 additions & 6 deletions .github/script/seekdb/compile.sh
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
#!/usr/bin/env bash
# Compile: 步骤与 .github/workflows/buildbase 一致(init → build.sh $TARGET → cd build_* && make)。
# Compile: initialize and build the Bazel release Unity target.
# Required env: GITHUB_WORKSPACE, SEEKDB_TASK_DIR
# Optional: RELEASE_MODE, FORWARDING_HOST, MAKE, MAKE_ARGS
set -e
# Optional: FORWARDING_HOST, MAKE_ARGS

if [[ -f ~/.bashrc ]]; then
source ~/.bashrc
fi

set -euo pipefail

WORKSPACE="${GITHUB_WORKSPACE:?}"
TASK_DIR="${SEEKDB_TASK_DIR:?}"

# 调试:便于排查 k8s/container 下 No build.sh
# Diagnostics for container/workspace path issues.
echo "[compile.sh] WORKSPACE=$WORKSPACE"
echo "[compile.sh] pwd=$(pwd)"
ls -la "$WORKSPACE/" 2>/dev/null | head -20 || true
Expand Down Expand Up @@ -46,8 +51,8 @@ else
set -e
fi

# 产物落到 build_*,打包 observer/obproxy 为 zst 并拷贝到任务目录
for binary in observer obproxy; do
# 产物落到 build_*,打包 observer 为 zst 并拷贝到任务目录
for binary in observer; do
for base in . build_debug build_release build; do
if [[ -f "$WORKSPACE/$base/$binary" ]]; then
cp -f "$WORKSPACE/$base/$binary" "$WORKSPACE/$binary" 2>/dev/null || true
Expand Down
4 changes: 2 additions & 2 deletions .github/script/seekdb/mysqltest_slice.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export BRANCH="${BRANCH:-master}"


# Copy compile artifacts from task dir to workspace if running in container
for f in observer.zst obproxy.zst; do
for f in observer.zst; do
if [[ -f "$SEEKDB_TASK_DIR/$f" ]] && [[ ! -f "$WORKSPACE/$f" ]]; then
cp -f "$SEEKDB_TASK_DIR/$f" "$WORKSPACE/" || true
fi
Expand All @@ -26,4 +26,4 @@ if [[ -f "$SCRIPTS_DIR/mysqltest_for_seekdb.sh" ]]; then
bash "$SCRIPTS_DIR/mysqltest_for_seekdb.sh" "$@"
else
echo "[mysqltest_slice.sh] No mysqltest_for_seekdb.sh, skip slice $SLICE_IDX."
fi
fi
14 changes: 6 additions & 8 deletions .github/script/seekdb/prepare.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
#!/usr/bin/env bash
# Prepare: create task dir and generate jobargs.output / run_jobs.output
# Required env: GITHUB_WORKSPACE, GITHUB_RUN_ID, MYSQLTEST_SLICES, SEEKDB_TASK_DIR
set -e
# Required env: SEEKDB_TASK_DIR
# Optional: MYSQLTEST_SLICES
set -euo pipefail

WORKSPACE="${GITHUB_WORKSPACE:?}"
RUN_ID="${GITHUB_RUN_ID:?}"
SLICES="${MYSQLTEST_SLICES:-4}"
TASK_DIR="${SEEKDB_TASK_DIR:?}"

Expand All @@ -16,12 +15,11 @@ for i in $(seq 0 $((SLICES - 1))); do
echo "++mysqltest++${i}++" >> "$TASK_DIR/run_jobs.output"
done

# jobargs.output: build options (align with seekdb.groovy)
# jobargs.output: the GitHub build is always the Bazel release Unity build.
{
echo '++is_cmake++'
echo '++release_mode++'
echo '++need_agentserver++0'
echo '++need_libobserver_so++0'
echo '++need_liboblog++0'
} > "$TASK_DIR/jobargs.output"

echo "[prepare.sh] SEEKDB_TASK_DIR=$TASK_DIR run_jobs and jobargs written."
echo "[prepare.sh] SEEKDB_TASK_DIR=$TASK_DIR run_jobs and jobargs written."
4 changes: 2 additions & 2 deletions .github/script/seekdb/scripts/farm_compile.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Farm compile: build observer / obproxy in workspace.
# Farm compile: build seekdb/observer in workspace.
# Expects: WORKSPACE, SEEKDB_TASK_DIR, PACKAGE_TYPE (debug|release), REPO=server
set -e

Expand All @@ -10,4 +10,4 @@ if [[ -x "$WORKSPACE/build.sh" ]]; then
bash "$WORKSPACE/build.sh" "$build_type" --init --make
else
echo "[farm_compile.sh] No build.sh in $WORKSPACE, skip."
fi
fi
Loading