Skip to content

Commit 0041478

Browse files
Merge branch 'master' into feat/Add-support-for-installing-and-loading-DuckDB-Community-Extensions
2 parents 8bd386b + 57bcbc4 commit 0041478

File tree

403 files changed

+60779
-143959
lines changed

Some content is hidden

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

403 files changed

+60779
-143959
lines changed

.github/workflows/cloud.yml

Lines changed: 36 additions & 4 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,11 +62,20 @@ 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:
@@ -82,17 +94,37 @@ jobs:
8294
- name: Set Yarn version
8395
run: yarn policies set-version v1.22.22
8496
- name: Yarn install
85-
run: CUBESTORE_SKIP_POST_INSTALL=true yarn install --frozen-lockfile
86-
- name: Build client
97+
uses: nick-fields/retry@v3
98+
env:
99+
CUBESTORE_SKIP_POST_INSTALL: true
100+
with:
101+
max_attempts: 3
102+
retry_on: error
103+
retry_wait_seconds: 15
104+
timeout_minutes: 20
105+
command: yarn install --frozen-lockfile
106+
- name: Build Core Client libraries
87107
run: yarn build
108+
- name: Build other packages
109+
run: yarn lerna run --concurrency 1 build
110+
env:
111+
NODE_OPTIONS: --max_old_space_size=4096
88112
- name: Lerna tsc
89113
run: yarn tsc
114+
- name: Build cubejs-backend-native (without Python)
115+
run: yarn run native:build-release
116+
working-directory: ./packages/cubejs-backend-native
90117
- name: Run Integration tests for ${{ matrix.db }} matrix
91-
timeout-minutes: 30
118+
uses: nick-fields/retry@v3
119+
with:
120+
max_attempts: 3
121+
retry_on: error
122+
retry_wait_seconds: 15
123+
timeout_minutes: 30
124+
command: ./.github/actions/integration/${{ matrix.db }}.sh
92125
env:
93126
CUBEJS_DB_BQ_CREDENTIALS: ${{ secrets.CUBEJS_DB_BQ_CREDENTIALS }}
94127
CUBEJS_AWS_KEY: ${{ secrets.CUBEJS_AWS_KEY }}
95128
CUBEJS_AWS_SECRET: ${{ secrets.CUBEJS_AWS_SECRET }}
96129
CUBEJS_DB_USER: ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_USER }}
97130
CUBEJS_DB_PASS: ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_PASS }}
98-
run: ./.github/actions/integration/${{ matrix.db }}.sh

.github/workflows/drivers-tests.yml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ on:
2323
- 'packages/cubejs-mssql-driver/**'
2424
- 'packages/cubejs-mysql-driver/**'
2525
- 'packages/cubejs-postgres-driver/**'
26+
- 'packages/cubejs-redshift-driver/**'
2627
- 'packages/cubejs-snowflake-driver/**'
2728
- 'packages/cubejs-vertica-driver/**'
2829

@@ -49,13 +50,17 @@ on:
4950
- 'packages/cubejs-mssql-driver/**'
5051
- 'packages/cubejs-mysql-driver/**'
5152
- 'packages/cubejs-postgres-driver/**'
53+
- 'packages/cubejs-redshift-driver/**'
5254
- 'packages/cubejs-snowflake-driver/**'
5355
- 'packages/cubejs-vertica-driver/**'
5456

5557
# To test SQL API Push down
5658
- 'packages/cubejs-backend-native/**'
5759
- 'rust/cubesql/**'
5860

61+
env:
62+
CUBEJS_TESSERACT_ORCHESTRATOR: true
63+
5964
jobs:
6065
latest-tag-sha:
6166
runs-on: ubuntu-20.04
@@ -117,8 +122,8 @@ jobs:
117122
- uses: Swatinem/rust-cache@v2
118123
with:
119124
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
125+
key: native-${{ runner.OS }}-${{ matrix.target }}
126+
shared-key: native-${{ runner.OS }}-${{ matrix.target }}
122127
- name: Build native (fallback)
123128
if: (matrix.python-version == 'fallback')
124129
env:
@@ -165,7 +170,12 @@ jobs:
165170
uses: actions/download-artifact@v4
166171
with:
167172
name: backend-native
168-
path: packages/cubejs-backend-native/
173+
path: packages/cubejs-backend-native
174+
# current .dockerignore prevents use of native build
175+
- name: Unignore native from .dockerignore
176+
run: |
177+
grep -v -E "packages/cubejs-backend-native/((native)|(index.node))" .dockerignore > .dockerignore.tmp
178+
mv .dockerignore.tmp .dockerignore
169179
- name: Build and push
170180
uses: docker/build-push-action@v6
171181
with:

.github/workflows/master.yml

Lines changed: 11 additions & 4 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
@@ -45,7 +47,7 @@ jobs:
4547
timeout-minutes: 60
4648
name: Build Linux Native backend for Dev image
4749
container:
48-
image: cubejs/rust-cross:x86_64-unknown-linux-gnu-15082024-python-3.9
50+
image: cubejs/rust-cross:x86_64-unknown-linux-gnu-15082024-python-3.11
4951

5052
steps:
5153
- name: Checkout
@@ -77,14 +79,14 @@ jobs:
7779
run: npm install -g [email protected]
7880
- name: Build native (with Python)
7981
env:
80-
PYO3_PYTHON: python3.9
82+
PYO3_PYTHON: python3.11
8183
CARGO_BUILD_TARGET: x86_64-unknown-linux-gnu
8284
working-directory: ./packages/cubejs-backend-native
8385
run: yarn run native:build-debug-python
8486
- name: Store build artifact for dev image
8587
uses: actions/upload-artifact@v4
8688
with:
87-
name: "native-linux-x64-glibc-3.9.node" # this name is referenced below in docker-image-dev
89+
name: "native-linux-x64-glibc-3.11.node" # this name is referenced below in docker-image-dev
8890
path: ./packages/cubejs-backend-native/index.node
8991
overwrite: true
9092

@@ -99,7 +101,7 @@ jobs:
99101
- name: Download backend-native artifact
100102
uses: actions/download-artifact@v4
101103
with:
102-
name: "native-linux-x64-glibc-3.9.node" # this name is referenced in above in native_linux
104+
name: "native-linux-x64-glibc-3.11.node" # this name is referenced in above in native_linux
103105
path: ./packages/cubejs-backend-native/
104106
- name: Login to DockerHub
105107
uses: docker/login-action@v3
@@ -108,6 +110,11 @@ jobs:
108110
password: ${{ secrets.DOCKERHUB_TOKEN }}
109111
- name: Set up QEMU
110112
uses: docker/setup-qemu-action@v3
113+
# current .dockerignore prevents use of native build
114+
- name: Unignore native from .dockerignore
115+
run: |
116+
grep -v -E "packages/cubejs-backend-native/((native)|(index.node))" .dockerignore > .dockerignore.tmp
117+
mv .dockerignore.tmp .dockerignore
111118
- name: Push to Docker Hub
112119
uses: docker/build-push-action@v6
113120
with:

.github/workflows/post-release.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,15 @@ jobs:
2929
steps:
3030
- name: Checkout
3131
uses: actions/checkout@v4
32+
- name: Install Rust
33+
uses: actions-rust-lang/setup-rust-toolchain@v1
34+
with:
35+
toolchain: nightly-2024-07-15
36+
# override: true # this is by default on
37+
rustflags: ""
38+
components: rustfmt
39+
target: x86_64-unknown-linux-gnu
40+
cache: false
3241
- name: Install Node.js ${{ matrix.node-version }}
3342
uses: actions/setup-node@v4
3443
with:
@@ -61,6 +70,9 @@ jobs:
6170
run: yarn build
6271
- name: Lerna tsc
6372
run: yarn tsc
73+
- name: Build cubejs-backend-native (without Python)
74+
run: yarn run native:build-release
75+
working-directory: ./packages/cubejs-backend-native
6476
- name: Birdbox
6577
env:
6678
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}

.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 }}

0 commit comments

Comments
 (0)