Skip to content

Commit ca8d68f

Browse files
authored
Merge branch 'main' into hash-join-test
2 parents 24b9d05 + 547526e commit ca8d68f

File tree

222 files changed

+5406
-10270
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

222 files changed

+5406
-10270
lines changed

.devcontainer/README.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Bolt Devcontainer Setup
2+
3+
This guide explains how to build and configure the Bolt devcontainer.
4+
5+
## Building the Devcontainer
6+
7+
### Using VS Code (Recommended)
8+
9+
1. Open the project in Visual Studio Code
10+
2. Install the [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) extension
11+
3. Click the green "Open a Remote Window" button in the lower-left corner
12+
4. Select "Reopen in Container" from the menu
13+
14+
### Using Docker CLI
15+
16+
```bash
17+
# From the project root directory
18+
cd .github/runners && docker build -f .github/runners/Dockerfile.ci -t bolt-devcontainer:latest .
19+
```
20+
21+
## Building Worldwide and in Corporate Networks
22+
23+
### DEB_REGION
24+
25+
The `DEB_REGION` argument allows you to specify a Debian mirror region to use for faster package downloads.
26+
27+
**Example values:**
28+
- `us` (United States)
29+
- `uk` (United Kingdom)
30+
- `cn` (China)
31+
32+
Debian's default package mirrors at deb.debian.org are supposed to automatically
33+
redirect your client to the closest mirror when building the package. However,
34+
sometime it doesn't work. Set the `DEB_REGION` image build argument if the
35+
download of debian packages is too slow.
36+
37+
**Usage with VS Code:**
38+
1. Edit `.devcontainer/devcontainer.json`
39+
2. Add the build argument to the `build.args` section:
40+
```json
41+
"build": {
42+
"args": {
43+
"DEB_REGION": "us"
44+
}
45+
}
46+
```
47+
48+
**Usage with Docker CLI:**
49+
```bash
50+
docker build -f .github/runners/Dockerfile.ci --build-arg DEB_REGION="us" -t bolt-devcontainer:latest .
51+
```
52+
53+
### HTTPS_PROXY
54+
55+
The `HTTPS_PROXY` argument allows you to specify an HTTPS proxy for
56+
network connections if you're behind a firewall.
57+
58+
**Example value:**
59+
- `http://proxy.company.com:8080`
60+
61+
**Usage with VS Code:**
62+
1. Edit `.devcontainer/devcontainer.json`
63+
2. Add the build argument to the `build.args` section:
64+
```json
65+
"build": {
66+
"args": {
67+
"HTTPS_PROXY": "http://proxy.company.com:8080"
68+
}
69+
}
70+
```
71+
72+
**Usage with Docker CLI:**
73+
```bash
74+
docker build -f .github/runners/Dockerfile.ci --build-arg HTTPS_PROXY="http://proxy.company.com:8080" -t bolt-devcontainer:latest .
75+
```
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# Copyright (c) 2025 ByteDance Ltd. and/or its affiliates.
2+
#
3+
# Licensed to the Apache Software Foundation (ASF) under one
4+
# or more contributor license agreements. See the NOTICE file
5+
# distributed with this work for additional information
6+
# regarding copyright ownership. The ASF licenses this file
7+
# to you under the Apache License, Version 2.0 (the
8+
# "License"); you may not use this file except in compliance
9+
# with the License. You may obtain a copy of the License at
10+
#
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
#
13+
# Unless required by applicable law or agreed to in writing,
14+
# software distributed under the License is distributed on an
15+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16+
# KIND, either express or implied. See the License for the
17+
# specific language governing permissions and limitations
18+
# under the License.
19+
20+
name: Bug Report
21+
description: Create a report to help us improve Bolt.
22+
title: "[Bug] "
23+
labels: ["bug", "needs triage"]
24+
body:
25+
- type: markdown
26+
attributes:
27+
value: |
28+
> Please search existing issues to avoid duplicates.
29+
> For security issues, please contact us privately instead of posting here.
30+
31+
- type: checkboxes
32+
attributes:
33+
label: Component Selection
34+
description: Which part of Bolt is affected?
35+
options:
36+
- label: Core Engine (Expression eval, Memory, Vector)
37+
- label: Connectors / File Formats (Hive, Parquet, etc.)
38+
- label: API / Bindings (Python, etc.)
39+
- label: Build
40+
- label: Other
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
attributes:
46+
label: Describe the Bug
47+
description: |
48+
A clear and concise description of what the bug is.
49+
placeholder: |
50+
When I run query X with data Y, the engine crashes / returns wrong result...
51+
validations:
52+
required: true
53+
54+
- type: textarea
55+
attributes:
56+
label: Reproduction Steps
57+
description: |
58+
Steps to reproduce the behavior.
59+
**Crucial**: Please provide a Minimal Reproducible Example (SQL query, Unit Test, or Data Schema).
60+
placeholder: |
61+
1. Create table with schema...
62+
2. Run query: select * from ...
63+
3. See error...
64+
validations:
65+
required: true
66+
67+
- type: input
68+
id: version
69+
attributes:
70+
label: Bolt Version / Commit ID
71+
description: e.g. v0.1.0 or commit hash `a1b2c3d`
72+
placeholder: main branch @ commit ...
73+
validations:
74+
required: true
75+
76+
- type: textarea
77+
attributes:
78+
label: System Configuration
79+
description: |
80+
Please provide details about your environment.
81+
value: |
82+
- **OS**: (e.g. Ubuntu 22.04, CentOS 7)
83+
- **Compiler**: (e.g. GCC 11, Clang 14)
84+
- **Build Type**: (Debug / Release / RelWithDebInfo)
85+
- **CPU Arch**: (e.g. x86_64 AVX2, ARM64)
86+
- **Framework**: (e.g. Spark 3.3, PrestoDB)
87+
render: markdown
88+
validations:
89+
required: true
90+
91+
- type: textarea
92+
attributes:
93+
label: Logs / Stack Trace
94+
description: |
95+
Paste the crash logs or GDB backtrace here.
96+
**Please DO NOT share screenshots of logs.**
97+
render: shell
98+
validations:
99+
required: false
100+
101+
- type: textarea
102+
attributes:
103+
label: Expected Behavior
104+
description: A clear and concise description of what you expected to happen.
105+
validations:
106+
required: false
107+
- type: textarea
108+
attributes:
109+
label: Additional context
110+
description: Add any other context about the bug here.
111+
validations:
112+
required: false
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# Copyright (c) 2025 ByteDance Ltd. and/or its affiliates.
2+
#
3+
# Licensed to the Apache Software Foundation (ASF) under one
4+
# or more contributor license agreements. See the NOTICE file
5+
# distributed with this work for additional information
6+
# regarding copyright ownership. The ASF licenses this file
7+
# to you under the Apache License, Version 2.0 (the
8+
# "License"); you may not use this file except in compliance
9+
# with the License. You may obtain a copy of the License at
10+
#
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
#
13+
# Unless required by applicable law or agreed to in writing,
14+
# software distributed under the License is distributed on an
15+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16+
# KIND, either express or implied. See the License for the
17+
# specific language governing permissions and limitations
18+
# under the License.
19+
20+
name: Build Issue
21+
description: Report a failure when building Bolt (Conan/CMake/Ninja)
22+
title: "[Build] "
23+
labels: ["build", "needs triage"]
24+
body:
25+
- type: markdown
26+
attributes:
27+
value: |
28+
> **Tip:** Before reporting, please try:
29+
> 1. Clean your build directory (`rm -rf build/`)
30+
> 2. Clean your Conan cache if necessary (`conan remove "*" -f` or specific packages)
31+
> 3. Ensure you have the latest code (`git pull`) and submodules.
32+
33+
- type: textarea
34+
attributes:
35+
label: Summary of the Build Issue
36+
description: A clear description of where the build fails (e.g., during dependency install, configuration, or compilation).
37+
validations:
38+
required: true
39+
40+
- type: textarea
41+
attributes:
42+
label: Build Command
43+
description: The exact commands you ran.
44+
placeholder: |
45+
conan install . --output-folder=build --build=missing
46+
cd build
47+
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release
48+
ninja
49+
render: shell
50+
validations:
51+
required: true
52+
53+
- type: textarea
54+
attributes:
55+
label: Build Environment (Crucial)
56+
description: Please provide versions of your tools(you can use `make system_info` to get this info).
57+
value: |
58+
- **OS**: (e.g. Ubuntu 22.04, macOS 14)
59+
- **Compiler**: (e.g. GCC 11, Clang 15)
60+
- **Conan Version**: (Output of `conan --version`)
61+
- **CMake Version**: (Output of `cmake --version`)
62+
- **Ninja Version**: (Output of `ninja --version`)
63+
- **Python Version**: (Required by Conan)
64+
validations:
65+
required: true
66+
67+
- type: textarea
68+
attributes:
69+
label: Conan Profile / Settings (Optional but Recommended)
70+
description: If you are using a custom conan profile or specific settings, please paste them here.
71+
placeholder: |
72+
[settings]
73+
os=Linux
74+
arch=x86_64
75+
compiler=gcc
76+
compiler.version=11
77+
compiler.libcxx=libstdc++11
78+
build_type=Release
79+
render: toml
80+
validations:
81+
required: false
82+
83+
- type: textarea
84+
attributes:
85+
label: Error Log / Output
86+
description: |
87+
Please paste the **full** error output here.
88+
Use a `<details>` block for long logs or upload a `.txt` file / GitHub Gist.
89+
placeholder: |
90+
<details>
91+
<summary>Click to expand full log</summary>
92+
93+
```text
94+
-- The CXX compiler identification is GNU 11.4.0
95+
...
96+
[ 98%] Building CXX object ...
97+
error: ...
98+
```
99+
</details>
100+
validations:
101+
required: true
102+
103+
- type: textarea
104+
attributes:
105+
label: Additional context
106+
description: Add any other context about the build issue here.
107+
validations:
108+
required: false

0 commit comments

Comments
 (0)