Verified Commit e196d74c authored by Michael Usachenko's avatar Michael Usachenko Committed by GitLab
Browse files

fix(ci): switch duckdb from bundled C++ to prebuilt shared library

parent 83707d78
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ stages:
    SCCACHE_GCS_BUCKET: "gl-knowledgegraph-sccache"
    SCCACHE_GCS_KEY_PATH: "${SCCACHE_GCS_KEY}"
    SCCACHE_GCS_RW_MODE: "READ_WRITE"
    DUCKDB_DOWNLOAD_LIB: "1"
  before_script:
    - mise install
    - |
+1 −1
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ tracing-test = "0.2.5"
# Parser-core
parser-core = { path = "crates/code-parser" }
clickhouse-client = { path = "crates/clickhouse-client" }
duckdb = { version = "1.10501.0", features = ["bundled", "vtab-arrow", "appender-arrow"] }
duckdb = { version = "1.10501.0", features = ["vtab-arrow", "appender-arrow"] }
gitalisk-core = { git = "https://gitlab.com/gitlab-org/rust/gitalisk.git", tag = "v0.7.0" }
thiserror = "2.0.18"
tokio-stream = "0.1.18"
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ COPY . .

ENV GKG_VERSION=$GKG_VERSION

RUN cargo build --release --package gkg-server && \
RUN cargo build --release --package gkg-server --features duckdb-client/bundled && \
    cp target/release/gkg-server /gkg-server

FROM registry.access.redhat.com/ubi10/ubi-minimal:10.1
+5 −0
Original line number Diff line number Diff line
@@ -4,6 +4,11 @@ version.workspace = true
edition = "2024"
license = "LicenseRef-EE"

[features]
# Compile DuckDB from C++ source for a fully static, self-contained binary.
# Use for Docker/release builds: cargo build --release --features duckdb-client/bundled
bundled = ["duckdb/bundled"]

[dependencies]
duckdb = { workspace = true }
arrow = { workspace = true }
+3 −0
Original line number Diff line number Diff line
@@ -14,6 +14,9 @@ GDK_ROOT_RESOLVED = "{{env.GDK_ROOT | default(value=env.HOME ~ '/gitlab/gdk')}}"
# Clone from: https://gitlab.com/gitlab-org/analytics-section/siphon
SIPHON_PROTO_ROOT = "{{env.GDK_ROOT | default(value=env.HOME ~ '/gitlab/gdk')}}/siphon"

# Auto-download prebuilt DuckDB shared library on first build (cached in target/).
DUCKDB_DOWNLOAD_LIB = "{{env.DUCKDB_DOWNLOAD_LIB | default(value='1')}}"

[tools]
"rust" = { version = "1.93.0", components = "rustfmt,clippy", targets = "aarch64-unknown-linux-gnu,x86_64-unknown-linux-gnu" }
"cargo:cargo-nextest" = "0.9.123"