Skip to content

Commit bb193db

Browse files
authored
Merge branch 'master' into patch-1
2 parents d9af3f6 + 9130a17 commit bb193db

File tree

534 files changed

+44080
-38341
lines changed

Some content is hidden

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

534 files changed

+44080
-38341
lines changed

.github/ISSUE_TEMPLATE/sql_api_query_issue.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: SQL API Query Issue
33
about: Create a report to help us improve
44
title: ''
5-
labels: ''
5+
labels: 'api:sql'
66
assignees: ''
77

88
---
@@ -13,8 +13,11 @@ Search for `Failed SQL` log message.
1313
**Logical Plan**
1414
Search for `Can't rewrite plan` log message.
1515

16+
**Tool**
17+
Was thethe SQL query above generated by some BI tool or any other tool? Did you write it yourself?
18+
1619
**Version:**
17-
[e.g. 0.4.5]
20+
E.g., v1.1.0.
1821

1922
**Additional context**
2023
Add any other context about the problem here.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
set -eo pipefail
3+
4+
# Debug log for test containers
5+
export DEBUG=testcontainers
6+
7+
echo "::group::Dremio [cloud]"
8+
yarn lerna run --concurrency 1 --stream --no-prefix integration:dremio
9+
10+
echo "::endgroup::"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
set -eo pipefail
3+
4+
# Debug log for test containers
5+
export DEBUG=testcontainers
6+
7+
echo "::group::Firebolt [cloud]"
8+
yarn lerna run --concurrency 1 --stream --no-prefix integration:firebolt
9+
10+
echo "::endgroup::"

.github/actions/smoke.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,8 @@ echo "::endgroup::"
5555

5656
echo "::group::MongoBI"
5757
yarn lerna run --concurrency 1 --stream --no-prefix smoke:mongobi
58-
echo "::endgroup::"
58+
echo "::endgroup::"
59+
60+
echo "::group::RBAC"
61+
yarn lerna run --concurrency 1 --stream --no-prefix smoke:rbac
62+
echo "::endgroup::"

.github/workflows/publish.yml

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ jobs:
152152
strategy:
153153
matrix:
154154
node-version: [20.x]
155-
os-version: ["macos-12"]
155+
os-version: ["macos-13"]
156156
target: ["x86_64-apple-darwin", "aarch64-apple-darwin"]
157157
python-version: ["3.9", "3.10", "3.11", "3.12", "fallback"]
158158
include:
@@ -191,7 +191,7 @@ jobs:
191191
components: rustfmt
192192
target: ${{ matrix.target }}
193193
- name: Install Python
194-
uses: actions/setup-python@v4
194+
uses: actions/setup-python@v5
195195
if: (matrix.python-version != 'fallback')
196196
with:
197197
python-version: ${{ matrix.python-version }}
@@ -265,7 +265,7 @@ jobs:
265265
rustflags: ""
266266
components: rustfmt
267267
- name: Install Python
268-
uses: actions/setup-python@v4
268+
uses: actions/setup-python@v5
269269
if: (matrix.python-version != 'fallback')
270270
with:
271271
python-version: ${{ matrix.python-version }}
@@ -666,17 +666,26 @@ jobs:
666666
target:
667667
- x86_64-pc-windows-msvc
668668
- x86_64-apple-darwin
669+
- aarch64-apple-darwin
669670
include:
670671
- target: x86_64-pc-windows-msvc
671672
os: windows-2019
672673
executable_name: cubestored.exe
673674
strip: true
674675
# cubestored.exe: CantPackException: superfluous data between sections
675676
compress: false
676-
# Please use minimal possible version of macOS, because it produces constraint on libstdc++
677677
tar_executable: tar
678+
# Please use minimal possible version of macOS, because it produces constraint on libstdc++
678679
- target: x86_64-apple-darwin
679-
os: macos-12
680+
os: macos-13
681+
executable_name: cubestored
682+
# upx has been disabled because it is crashing for macOS Ventura or above! It was disabled on 2024-09-05.
683+
strip: false
684+
compress: false
685+
# bsd tar has a different format with Sparse files which breaks download script
686+
tar_executable: gtar
687+
- os: macos-14
688+
target: aarch64-apple-darwin
680689
executable_name: cubestored
681690
# upx has been disabled because it is crashing for macOS Ventura or above! It was disabled on 2024-09-05.
682691
strip: false
@@ -784,7 +793,7 @@ jobs:
784793
})
785794
786795
detect_branch:
787-
runs-on: ubuntu-20.04
796+
runs-on: ubuntu-24.04
788797
outputs:
789798
is_master: ${{ steps.detect_branch.outputs.is_master }}
790799
branch: ${{ steps.detect_branch.outputs.branch }}
@@ -793,20 +802,10 @@ jobs:
793802
uses: actions/checkout@v4
794803
- name: Detect branch name
795804
id: detect_branch
796-
env:
797-
EVENT_BASE_REF: ${{ github.event.base_ref || 'master' }}
798805
run: |
799-
BRANCH=${EVENT_BASE_REF#refs/heads/}
800-
echo "Detected branch: $BRANCH"
801-
802-
IS_MASTER=false
803-
if [ "$BRANCH" == "master" ]; then
804-
IS_MASTER=true
805-
fi
806-
echo "Detected is_master: $IS_MASTER"
807-
808-
echo "branch=$BRANCH" >> "$GITHUB_OUTPUT"
809-
echo "is_master=$IS_MASTER" >> "$GITHUB_OUTPUT"
806+
# Git & GitHub (for now) doesn't provide an easy/stable way to detect branch name from tag.
807+
echo "branch=master" >> "$GITHUB_OUTPUT"
808+
echo "is_master=true" >> "$GITHUB_OUTPUT"
810809
811810
trigger-repo-sync:
812811
name: Trigger runtime repo
@@ -817,7 +816,7 @@ jobs:
817816
- name: Checkout
818817
uses: actions/checkout@v4
819818
- name: Trigger runtime
820-
uses: actions/github-script@v6
819+
uses: actions/github-script@v7
821820
with:
822821
github-token: ${{ secrets.GH_TRIGGER_TOKEN }}
823822
script: |

.github/workflows/push.yml

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ jobs:
4242
matrix:
4343
# Current docker version + next LTS
4444
node-version: [20.x, 22.x]
45+
python-version: [3.11]
4546
fail-fast: false
4647

4748
steps:
@@ -65,6 +66,10 @@ jobs:
6566
uses: actions/setup-node@v4
6667
with:
6768
node-version: ${{ matrix.node-version }}
69+
- name: Install Python
70+
uses: actions/setup-python@v5
71+
with:
72+
python-version: ${{ matrix.python-version }}
6873
- name: Get yarn cache directory path
6974
id: yarn-cache-dir-path
7075
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
@@ -92,6 +97,12 @@ jobs:
9297
run: yarn tsc
9398
- name: Build client
9499
run: yarn build
100+
- name: Build cubejs-backend-native (with Python)
101+
run: yarn run native:build-release-python
102+
working-directory: ./packages/cubejs-backend-native
103+
env:
104+
PYO3_PYTHON: python${{ matrix.python-version }}
105+
95106
- name: Lerna test
96107
run: yarn lerna run --concurrency 1 --stream --no-prefix unit
97108
# - uses: codecov/codecov-action@v1
@@ -313,13 +324,19 @@ jobs:
313324
runs-on: ubuntu-20.04
314325
timeout-minutes: 60
315326
if: (needs['latest-tag-sha'].outputs.sha != github.sha)
327+
env:
328+
CLOUD_DATABASES: >
329+
firebolt
330+
dremio
331+
# Athena (just to check for secrets availability)
332+
DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY: ${{ secrets.DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY }}
316333

317334
strategy:
318335
matrix:
319336
node-version: [20.x]
320337
db: [
321338
'clickhouse', 'druid', 'elasticsearch', 'mssql', 'mysql', 'postgres', 'prestodb',
322-
'mysql-aurora-serverless', 'crate', 'mongobi'
339+
'mysql-aurora-serverless', 'crate', 'mongobi', 'firebolt', 'dremio'
323340
]
324341
fail-fast: false
325342

@@ -370,6 +387,21 @@ jobs:
370387
retry_wait_seconds: 15
371388
timeout_minutes: 30
372389
command: ./.github/actions/integration/${{ matrix.db }}.sh
390+
# It's enough to test for any one secret because they are set all at once or not set all
391+
if: |
392+
(contains(env.CLOUD_DATABASES, matrix.db) && env.DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY != '') ||
393+
(!contains(env.CLOUD_DATABASES, matrix.db))
394+
env:
395+
# Firebolt Integration
396+
DRIVERS_TESTS_FIREBOLT_CUBEJS_FIREBOLT_ENGINE_NAME: ${{ secrets.DRIVERS_TESTS_FIREBOLT_CUBEJS_FIREBOLT_ENGINE_NAME }}
397+
DRIVERS_TESTS_FIREBOLT_CUBEJS_DB_NAME: ${{ secrets.DRIVERS_TESTS_FIREBOLT_CUBEJS_DB_NAME }}
398+
DRIVERS_TESTS_FIREBOLT_CUBEJS_FIREBOLT_ACCOUNT: ${{ secrets.DRIVERS_TESTS_FIREBOLT_CUBEJS_FIREBOLT_ACCOUNT }}
399+
DRIVERS_TESTS_FIREBOLT_CUBEJS_DB_USER: ${{ secrets.DRIVERS_TESTS_FIREBOLT_CUBEJS_DB_USER }}
400+
DRIVERS_TESTS_FIREBOLT_CUBEJS_DB_PASS: ${{ secrets.DRIVERS_TESTS_FIREBOLT_CUBEJS_DB_PASS }}
401+
# Dremio Integration
402+
DRIVERS_TESTS_DREMIO_CUBEJS_DB_URL: ${{ secrets.DRIVERS_TESTS_DREMIO_CUBEJS_DB_URL }}
403+
DRIVERS_TESTS_DREMIO_CUBEJS_DB_NAME: ${{ secrets.DRIVERS_TESTS_DREMIO_CUBEJS_DB_NAME }}
404+
DRIVERS_TESTS_DREMIO_CUBEJS_DB_DREMIO_AUTH_TOKEN: ${{ secrets.DRIVERS_TESTS_DREMIO_CUBEJS_DB_DREMIO_AUTH_TOKEN }}
373405

374406
integration-smoke:
375407
needs: [ latest-tag-sha, build-cubestore ]
@@ -380,6 +412,7 @@ jobs:
380412
strategy:
381413
matrix:
382414
node-version: [ 20.x ]
415+
python-version: [ 3.11 ]
383416
fail-fast: false
384417

385418
steps:
@@ -405,6 +438,10 @@ jobs:
405438
uses: actions/setup-node@v4
406439
with:
407440
node-version: ${{ matrix.node-version }}
441+
- name: Install Python
442+
uses: actions/setup-python@v5
443+
with:
444+
python-version: ${{ matrix.python-version }}
408445
- name: Get yarn cache directory path
409446
id: yarn-cache-dir-path
410447
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
@@ -432,6 +469,11 @@ jobs:
432469
uses: GoodManWEN/oracle-client-action@main
433470
- name: Build client
434471
run: yarn build
472+
- name: Build cubejs-backend-native (with Python)
473+
run: yarn run native:build-release-python
474+
working-directory: ./packages/cubejs-backend-native
475+
env:
476+
PYO3_PYTHON: python${{ matrix.python-version }}
435477
- name: Lerna tsc
436478
run: yarn tsc
437479
- name: Download cubestored-x86_64-unknown-linux-gnu-release artifact

.github/workflows/rust-cubesql.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,11 @@ jobs:
6262
# We use host instead of cross container, because it's much faster
6363
runs-on: ubuntu-24.04
6464
timeout-minutes: 60
65-
name: Unit (Rewrite Engine)
65+
name: Unit (Rewrite Engine) (CUBESQL_TOP_DOWN_EXTRACTOR=${{ matrix.top-down-extractor }})
66+
strategy:
67+
matrix:
68+
top-down-extractor: ['true', 'false']
69+
fail-fast: false
6670

6771
steps:
6872
- name: Checkout
@@ -90,6 +94,7 @@ jobs:
9094
CUBESQL_TESTING_CUBE_TOKEN: ${{ secrets.CUBESQL_TESTING_CUBE_TOKEN }}
9195
CUBESQL_TESTING_CUBE_URL: ${{ secrets.CUBESQL_TESTING_CUBE_URL }}
9296
CUBESQL_SQL_PUSH_DOWN: true
97+
CUBESQL_TOP_DOWN_EXTRACTOR: ${{ matrix.top-down-extractor }}
9398
CUBESQL_REWRITE_CACHE: true
9499
CUBESQL_REWRITE_TIMEOUT: 60
95100
run: |
@@ -245,7 +250,7 @@ jobs:
245250
components: rustfmt
246251
target: ${{ matrix.target }}
247252
- name: Install Python
248-
uses: actions/setup-python@v4
253+
uses: actions/setup-python@v5
249254
if: (matrix.python-version != 'fallback')
250255
with:
251256
python-version: ${{ matrix.python-version }}
@@ -327,7 +332,7 @@ jobs:
327332
rustflags: ""
328333
components: rustfmt
329334
- name: Install Python
330-
uses: actions/setup-python@v4
335+
uses: actions/setup-python@v5
331336
if: (matrix.python-version != 'fallback')
332337
with:
333338
python-version: ${{ matrix.python-version }}

.github/workflows/rust-cubestore-master.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ jobs:
149149
- name: Set up Docker Buildx
150150
uses: docker/setup-buildx-action@v3
151151
- name: Push to Docker Hub
152-
uses: docker/build-push-action@v3
152+
uses: docker/build-push-action@v6
153153
with:
154154
context: ./rust/cubestore
155155
file: ./rust/cubestore/Dockerfile
@@ -187,6 +187,7 @@ jobs:
187187
target:
188188
- x86_64-pc-windows-msvc
189189
- x86_64-apple-darwin
190+
- aarch64-apple-darwin
190191
include:
191192
- os: windows-2019
192193
target: x86_64-pc-windows-msvc
@@ -195,12 +196,18 @@ jobs:
195196
# cubestored.exe: CantPackException: superfluous data between sections
196197
compress: false
197198
# Please use minimal possible version of macOS, because it produces constraint on libstdc++
198-
- os: macos-12
199+
- os: macos-13
199200
target: x86_64-apple-darwin
200201
executable_name: cubestored
201202
# upx has been disabled because it is crashing for macOS Ventura or above! It was disabled on 2024-09-05.
202203
strip: false
203204
compress: false
205+
- os: macos-14
206+
target: aarch64-apple-darwin
207+
executable_name: cubestored
208+
# upx has been disabled because it is crashing for macOS Ventura or above! It was disabled on 2024-09-05.
209+
strip: false
210+
compress: false
204211
fail-fast: false
205212
steps:
206213
- uses: actions/checkout@v4

.github/workflows/rust-cubestore.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ jobs:
9797
- name: Set up Docker Buildx
9898
uses: docker/setup-buildx-action@v3
9999
- name: Build only
100-
uses: docker/build-push-action@v3
100+
uses: docker/build-push-action@v6
101101
with:
102102
context: ./rust/cubestore/
103103
file: ./rust/cubestore/Dockerfile
@@ -118,6 +118,7 @@ jobs:
118118
target:
119119
- x86_64-pc-windows-msvc
120120
- x86_64-apple-darwin
121+
- aarch64-apple-darwin
121122
include:
122123
- os: windows-2019
123124
target: x86_64-pc-windows-msvc
@@ -126,12 +127,18 @@ jobs:
126127
# cubestored.exe: CantPackException: superfluous data between sections
127128
compress: false
128129
# Please use minimal possible version of macOS, because it produces constraint on libstdc++
129-
- os: macos-12
130+
- os: macos-13
130131
target: x86_64-apple-darwin
131132
executable_name: cubestored
132133
# upx has been disabled because it is crashing for macOS Ventura or above! It was disabled on 2024-09-05.
133134
strip: false
134135
compress: false
136+
- os: macos-14
137+
target: aarch64-apple-darwin
138+
executable_name: cubestored
139+
# upx has been disabled because it is crashing for macOS Ventura or above! It was disabled on 2024-09-05.
140+
strip: false
141+
compress: false
135142
fail-fast: false
136143
steps:
137144
- uses: actions/checkout@v4

0 commit comments

Comments
 (0)