Skip to content

Commit 4600b5a

Browse files
authored
Merge branch 'master' into returnUsedPreAggregation
2 parents 4ebd0e6 + 3822107 commit 4600b5a

File tree

377 files changed

+16892
-9903
lines changed

Some content is hidden

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

377 files changed

+16892
-9903
lines changed

.github/workflows/cloud.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ on:
2525
- 'package.json'
2626
- 'yarn.lock'
2727

28+
env:
29+
CUBEJS_TESSERACT_ORCHESTRATOR: true
30+
2831
jobs:
2932
latest-tag-sha:
3033
runs-on: ubuntu-20.04
@@ -59,15 +62,31 @@ jobs:
5962
matrix:
6063
node-version: [ 20.x ]
6164
db: [ 'athena', 'bigquery', 'snowflake' ]
65+
target: [ "x86_64-unknown-linux-gnu" ]
6266
fail-fast: false
6367

6468
steps:
6569
- name: Checkout
6670
uses: actions/checkout@v4
71+
- name: Install Rust
72+
uses: actions-rust-lang/setup-rust-toolchain@v1
73+
with:
74+
toolchain: nightly-2024-07-15
75+
# override: true # this is by default on
76+
rustflags: ""
77+
components: rustfmt
78+
target: ${{ matrix.target }}
6779
- name: Install Node.js ${{ matrix.node-version }}
6880
uses: actions/setup-node@v4
6981
with:
7082
node-version: ${{ matrix.node-version }}
83+
- name: Install cargo-cp-artifact
84+
run: npm install -g [email protected]
85+
- uses: Swatinem/rust-cache@v2
86+
with:
87+
workspaces: ./packages/cubejs-backend-native
88+
key: native-${{ runner.OS }}-${{ matrix.target }}
89+
shared-key: native-${{ runner.OS }}-${{ matrix.target }}
7190
- name: Get yarn cache directory path
7291
id: yarn-cache-dir-path
7392
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
@@ -87,6 +106,8 @@ jobs:
87106
run: yarn build
88107
- name: Lerna tsc
89108
run: yarn tsc
109+
- name: Build native (no python)
110+
run: cd packages/cubejs-backend-native && npm run native:build-release
90111
- name: Run Integration tests for ${{ matrix.db }} matrix
91112
timeout-minutes: 30
92113
env:

.github/workflows/drivers-tests.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ on:
5656
- 'packages/cubejs-backend-native/**'
5757
- 'rust/cubesql/**'
5858

59+
env:
60+
CUBEJS_TESSERACT_ORCHESTRATOR: true
61+
5962
jobs:
6063
latest-tag-sha:
6164
runs-on: ubuntu-20.04
@@ -117,8 +120,8 @@ jobs:
117120
- uses: Swatinem/rust-cache@v2
118121
with:
119122
workspaces: ./packages/cubejs-backend-native
120-
key: native-${{ runner.OS }}-x86_64-unknown-linux-gnu
121-
shared-key: native-${{ runner.OS }}-x86_64-unknown-linux-gnu
123+
key: native-${{ runner.OS }}-${{ matrix.target }}
124+
shared-key: native-${{ runner.OS }}-${{ matrix.target }}
122125
- name: Build native (fallback)
123126
if: (matrix.python-version == 'fallback')
124127
env:
@@ -165,7 +168,12 @@ jobs:
165168
uses: actions/download-artifact@v4
166169
with:
167170
name: backend-native
168-
path: packages/cubejs-backend-native/
171+
path: packages/cubejs-backend-native
172+
# current .dockerignore prevents use of native build
173+
- name: Unignore native from .dockerignore
174+
run: |
175+
grep -v -E "packages/cubejs-backend-native/((native)|(index.node))" .dockerignore > .dockerignore.tmp
176+
mv .dockerignore.tmp .dockerignore
169177
- name: Build and push
170178
uses: docker/build-push-action@v6
171179
with:

.github/workflows/master.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ on:
1616
- 'rust/cubesql/**'
1717
branches:
1818
- master
19+
env:
20+
CUBEJS_TESSERACT_ORCHESTRATOR: true
1921
jobs:
2022
latest-tag-sha:
2123
runs-on: ubuntu-20.04

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,7 @@ jobs:
552552
- name: Push to Docker Hub
553553
uses: docker/build-push-action@v6
554554
with:
555-
context: ./rust/cubestore/
555+
context: ./rust/
556556
file: ./rust/cubestore/Dockerfile
557557
platforms: ${{ matrix.platforms }}
558558
build-args: ${{ matrix.build-args }}

.github/workflows/push.yml

Lines changed: 108 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ on:
99
- 'packages/**'
1010
- 'rust/cubestore/**'
1111
- 'rust/cubesql/**'
12+
- 'rust/cubenativeutils/**'
13+
- 'rust/cubeorchestrator/**'
14+
- 'rust/cubeshared/**'
15+
- 'rust/cubesqlplanner/**'
1216
- '.eslintrc.js'
1317
- '.prettierrc'
1418
- 'package.json'
@@ -24,13 +28,20 @@ on:
2428
- 'packages/**'
2529
- 'rust/cubestore/**'
2630
- 'rust/cubesql/**'
31+
- 'rust/cubenativeutils/**'
32+
- 'rust/cubeorchestrator/**'
33+
- 'rust/cubeshared/**'
34+
- 'rust/cubesqlplanner/**'
2735
- '.eslintrc.js'
2836
- '.prettierrc'
2937
- 'package.json'
3038
- 'lerna.json'
3139
- 'rollup.config.js'
3240
- 'yarn.lock'
3341

42+
env:
43+
CUBEJS_TESSERACT_ORCHESTRATOR: true
44+
3445
jobs:
3546
unit:
3647
runs-on: ubuntu-20.04
@@ -95,14 +106,15 @@ jobs:
95106
command: yarn install --frozen-lockfile
96107
- name: Lerna tsc
97108
run: yarn tsc
109+
- name: Build native (no python)
110+
run: cd packages/cubejs-backend-native && npm run native:build-release
98111
- name: Build client
99112
run: yarn build
100113
- name: Build cubejs-backend-native (with Python)
101114
run: yarn run native:build-release-python
102115
working-directory: ./packages/cubejs-backend-native
103116
env:
104117
PYO3_PYTHON: python${{ matrix.python-version }}
105-
106118
- name: Lerna test
107119
run: yarn lerna run --concurrency 1 --stream --no-prefix unit
108120
# - uses: codecov/codecov-action@v1
@@ -111,6 +123,21 @@ jobs:
111123
# files: ./packages/*/coverage/clover.xml
112124
# flags: cube-backend
113125
# verbose: true # optional (default = false)
126+
- name: Cargo test cubeorchestrator
127+
run: |
128+
cargo test --manifest-path rust/cubeorchestrator/Cargo.toml -j 1
129+
- name: Cargo test cubenativeutils
130+
run: |
131+
cargo test --manifest-path rust/cubenativeutils/Cargo.toml -j 1
132+
- name: Cargo test cubeshared
133+
run: |
134+
cargo test --manifest-path rust/cubeshared/Cargo.toml -j 1
135+
# - name: Cargo test cubesql
136+
# run: |
137+
# cargo test --manifest-path rust/cubesql/Cargo.toml -j 1
138+
# - name: Cargo test cubesqlplanner
139+
# run: |
140+
# cargo test --manifest-path rust/cubesqlplanner/cubesqlplanner/Cargo.toml -j 1
114141

115142
lint:
116143
runs-on: ubuntu-20.04
@@ -159,6 +186,21 @@ jobs:
159186
run: yarn lint:npm
160187
- name: Lerna lint
161188
run: yarn lerna run --concurrency 1 lint
189+
- name: Cargo fmt cubeorchestrator
190+
run: |
191+
cargo fmt --manifest-path rust/cubeorchestrator/Cargo.toml -- --check
192+
- name: Cargo fmt cubenativeutils
193+
run: |
194+
cargo fmt --manifest-path rust/cubenativeutils/Cargo.toml -- --check
195+
- name: Cargo fmt cubeshared
196+
run: |
197+
cargo fmt --manifest-path rust/cubeshared/Cargo.toml -- --check
198+
# - name: Cargo fmt cubesql
199+
# run: |
200+
# cargo fmt --manifest-path rust/cubesql/Cargo.toml -- --check
201+
# - name: Cargo fmt cubesqlplanner
202+
# run: |
203+
# cargo fmt --manifest-path rust/cubesqlplanner/cubesqlplanner/Cargo.toml -- --check
162204

163205
build:
164206
runs-on: ubuntu-20.04
@@ -211,6 +253,21 @@ jobs:
211253
run: yarn lerna run --concurrency 1 build
212254
env:
213255
NODE_OPTIONS: --max_old_space_size=4096
256+
- name: Cargo build cubeorchestrator
257+
run: |
258+
cargo build --manifest-path rust/cubeorchestrator/Cargo.toml -j 4
259+
- name: Cargo build cubenativeutils
260+
run: |
261+
cargo build --manifest-path rust/cubenativeutils/Cargo.toml -j 4
262+
- name: Cargo build cubeshared
263+
run: |
264+
cargo build --manifest-path rust/cubeshared/Cargo.toml -j 4
265+
# - name: Cargo build cubesql
266+
# run: |
267+
# cargo build --manifest-path rust/cubesql/Cargo.toml -j 4
268+
# - name: Cargo build cubesqlplanner
269+
# run: |
270+
# cargo build --manifest-path rust/cubesqlplanner/cubesqlplanner/Cargo.toml -j 4
214271

215272
build-cubestore:
216273
needs: [latest-tag-sha]
@@ -276,6 +333,13 @@ jobs:
276333
df -h
277334
- name: Checkout
278335
uses: actions/checkout@v4
336+
- name: Install Rust
337+
uses: actions-rust-lang/setup-rust-toolchain@v1
338+
with:
339+
toolchain: nightly-2024-07-15
340+
# override: true # this is by default on
341+
rustflags: ""
342+
components: rustfmt
279343
- name: Install Node.js ${{ matrix.node-version }}
280344
uses: actions/setup-node@v4
281345
with:
@@ -305,6 +369,9 @@ jobs:
305369
command: yarn install --frozen-lockfile
306370
- name: Lerna tsc
307371
run: yarn tsc
372+
- name: Build cubejs-backend-native (without Python)
373+
run: yarn run native:build-release
374+
working-directory: ./packages/cubejs-backend-native
308375
- name: Download cubestored-x86_64-unknown-linux-gnu-release artifact
309376
uses: actions/download-artifact@v4
310377
with:
@@ -539,6 +606,8 @@ jobs:
539606
- 5000:5000
540607
strategy:
541608
matrix:
609+
node-version: [ 20 ]
610+
target: [ "x86_64-unknown-linux-gnu" ]
542611
dockerfile:
543612
- dev.Dockerfile
544613
include:
@@ -565,21 +634,29 @@ jobs:
565634
df -h
566635
- name: Checkout
567636
uses: actions/checkout@v4
568-
- name: Set up QEMU
569-
uses: docker/setup-qemu-action@v3
570-
- name: Build image
571-
uses: docker/build-push-action@v6
572-
timeout-minutes: 30
637+
- name: Install Rust
638+
uses: actions-rust-lang/setup-rust-toolchain@v1
573639
with:
574-
context: .
575-
file: ./packages/cubejs-docker/${{ matrix.dockerfile }}
576-
platforms: linux/amd64
577-
push: true
578-
tags: localhost:5000/cubejs/cube:${{ matrix.tag }}
579-
- name: Use Node.js 20.x
640+
toolchain: nightly-2024-07-15
641+
# override: true # this is by default on
642+
rustflags: ""
643+
components: rustfmt
644+
target: ${{ matrix.target }}
645+
- name: Install Node.js ${{ matrix.node-version }}
580646
uses: actions/setup-node@v4
581647
with:
582-
node-version: 20.x
648+
node-version: ${{ matrix.node-version }}
649+
- name: Install Yarn
650+
run: npm install -g yarn
651+
- name: Set Yarn version
652+
run: yarn policies set-version v1.22.22
653+
- name: Install cargo-cp-artifact
654+
run: npm install -g [email protected]
655+
- uses: Swatinem/rust-cache@v2
656+
with:
657+
workspaces: ./packages/cubejs-backend-native
658+
key: native-${{ runner.OS }}-${{ matrix.target }}
659+
shared-key: native-${{ runner.OS }}-${{ matrix.target }}
583660
- name: Get yarn cache directory path
584661
id: yarn-cache-dir-path
585662
run: echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
@@ -591,8 +668,6 @@ jobs:
591668
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
592669
restore-keys: |
593670
${{ runner.os }}-yarn-
594-
- name: Set Yarn version
595-
run: yarn policies set-version v1.22.22
596671
- name: Yarn install
597672
uses: nick-fields/retry@v3
598673
env:
@@ -607,6 +682,24 @@ jobs:
607682
run: yarn build
608683
- name: Lerna tsc
609684
run: yarn tsc
685+
- name: Build native (no python)
686+
run: cd packages/cubejs-backend-native && npm run native:build-release
687+
- name: Set up QEMU
688+
uses: docker/setup-qemu-action@v3
689+
# current .dockerignore prevents use of native build
690+
- name: Unignore native from .dockerignore
691+
run: |
692+
grep -v -E "packages/cubejs-backend-native/((native)|(index.node))" .dockerignore > .dockerignore.tmp
693+
mv .dockerignore.tmp .dockerignore
694+
- name: Build image
695+
uses: docker/build-push-action@v6
696+
timeout-minutes: 30
697+
with:
698+
context: .
699+
file: ./packages/cubejs-docker/${{ matrix.dockerfile }}
700+
platforms: linux/amd64
701+
push: true
702+
tags: localhost:5000/cubejs/cube:${{ matrix.tag }}
610703
- name: Testing CubeJS (container mode) via BirdBox
611704
run: |
612705
cd packages/cubejs-testing/

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ jobs:
151151
- name: Push to Docker Hub
152152
uses: docker/build-push-action@v6
153153
with:
154-
context: ./rust/cubestore
154+
context: ./rust
155155
file: ./rust/cubestore/Dockerfile
156156
platforms: ${{ matrix.platforms }}
157157
build-args: ${{ matrix.build-args }}

.github/workflows/rust-cubestore.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ jobs:
9999
- name: Build only
100100
uses: docker/build-push-action@v6
101101
with:
102-
context: ./rust/cubestore/
102+
context: ./rust/
103103
file: ./rust/cubestore/Dockerfile
104104
platforms: ${{ matrix.platforms }}
105105
build-args: ${{ matrix.build-args }}

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,41 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
## [1.1.16](https://github.com/cube-js/cube/compare/v1.1.15...v1.1.16) (2025-01-22)
7+
8+
9+
### Bug Fixes
10+
11+
* **api-gateway:** Allow querying time dimensions with custom granularity ([#9068](https://github.com/cube-js/cube/issues/9068)) ([80f10ce](https://github.com/cube-js/cube/commit/80f10ce7ec93377e056b4802da7cec30dfcb88a3))
12+
* **client-ws-transport:** Flush send queue in close() to avoid race ([#9101](https://github.com/cube-js/cube/issues/9101)) ([d9bc147](https://github.com/cube-js/cube/commit/d9bc147a6ae1deb5e554d76c23a8ad0c3f0225a5))
13+
* **cubejs-client-react:** useCubeQuery initial loading state ([#9117](https://github.com/cube-js/cube/issues/9117)) ([81f9b58](https://github.com/cube-js/cube/commit/81f9b58c88a966e459fc15105a9f2d191a18bf22))
14+
* **cubesql:** Add forgotten Distinct in ast_size_outside_wrapper cost component ([#8882](https://github.com/cube-js/cube/issues/8882)) ([a64272e](https://github.com/cube-js/cube/commit/a64272e376d67431c7f1c057b56b04bf10c59967))
15+
* **cubesql:** Fix condition for joining two date range filters ([#9113](https://github.com/cube-js/cube/issues/9113)) ([39190e0](https://github.com/cube-js/cube/commit/39190e075671bf1adcf8334c513b70130c67cf64))
16+
* **cubesql:** Pass proper in_projection flag in non-trivial wrapper pull up rule ([#9097](https://github.com/cube-js/cube/issues/9097)) ([8f0758e](https://github.com/cube-js/cube/commit/8f0758e2b29a502a0048d6264ae30cf02d7340d7))
17+
* **druid-driver:** Fix case sensitivity in like flow ([#8658](https://github.com/cube-js/cube/issues/8658)) ([6d75c60](https://github.com/cube-js/cube/commit/6d75c609cd9336b711e2539c255dba706442981c))
18+
* **gateway:** dryRun to return pre-rewritten queries ([#9091](https://github.com/cube-js/cube/issues/9091)) ([f48495c](https://github.com/cube-js/cube/commit/f48495c10dca26b3c52acba6a66013a5246f37c0))
19+
* Install python3 executable for node-gyp ([#8998](https://github.com/cube-js/cube/issues/8998)) ([9700dc8](https://github.com/cube-js/cube/commit/9700dc83838479ed9453c9e10e6f1cec3ad4cdd6))
20+
* **schema-compiler:** hierarchies on extended cubes ([#9100](https://github.com/cube-js/cube/issues/9100)) ([c8f24f7](https://github.com/cube-js/cube/commit/c8f24f70131f0dc7138769837f8effa812998169))
21+
* **schema-compiler:** update hierarchies handling to use object pattern ([#9121](https://github.com/cube-js/cube/issues/9121)) ([42cbc8e](https://github.com/cube-js/cube/commit/42cbc8e51fd38b6ca7ade546d638408c06aeafb2))
22+
* typo for DBeaver in comments change DBEver to DBeaver ([#9092](https://github.com/cube-js/cube/issues/9092)) ([aab9e8f](https://github.com/cube-js/cube/commit/aab9e8f844244247d21fac427ae36ee25aa24ae1))
23+
24+
25+
### Features
26+
27+
* **cli:** Deploy, added --replace-env flag ([#9095](https://github.com/cube-js/cube/issues/9095)) ([80591ea](https://github.com/cube-js/cube/commit/80591ea454f9ca4183967e344c01c616577ab294))
28+
* **cubejs-playground:** update query builder ([#9118](https://github.com/cube-js/cube/issues/9118)) ([7ad8936](https://github.com/cube-js/cube/commit/7ad8936fbe6a174a13121b49f2f75fa0e56310ef))
29+
* **cubesql:** Implement format and col_description ([#9072](https://github.com/cube-js/cube/issues/9072)) ([bde6eea](https://github.com/cube-js/cube/commit/bde6eea73f35a768f532c5a7dfd20c0533720238)), closes [#8947](https://github.com/cube-js/cube/issues/8947) [#8926](https://github.com/cube-js/cube/issues/8926)
30+
* Initial support for grouped join pushdown ([#9032](https://github.com/cube-js/cube/issues/9032)) ([2f11d20](https://github.com/cube-js/cube/commit/2f11d2050ab1e2fc7f0a37012d5d45592f01938e))
31+
32+
33+
### Performance Improvements
34+
35+
* **cubesql:** Improve rules loading perf ([#9014](https://github.com/cube-js/cube/issues/9014)) ([4cef4f0](https://github.com/cube-js/cube/commit/4cef4f00337bd7d5c8921301ca1c18bc2e1a437d))
36+
37+
38+
39+
40+
641
## [1.1.15](https://github.com/cube-js/cube/compare/v1.1.14...v1.1.15) (2025-01-13)
742

843

0 commit comments

Comments
 (0)