5757 # To test SQL API Push down
5858 - ' packages/cubejs-backend-native/**'
5959 - ' rust/cubesql/**'
60+ workflow_dispatch :
61+ inputs :
62+ use_tesseract_sql_planner :
63+ description : ' Enable TESSERACT_SQL_PLANNER?'
64+ required : true
65+ default : ' false'
66+ type : choice
67+ options :
68+ - ' true'
69+ - ' false'
6070
6171env :
62- CUBEJS_TESSERACT_ORCHESTRATOR : true
72+ USE_TESSERACT_SQL_PLANNER : false
6373
6474jobs :
6575 latest-tag-sha :
66- runs-on : ubuntu-20 .04
76+ runs-on : ubuntu-24 .04
6777 outputs :
6878 sha : ${{ steps.get-tag.outputs.sha }}
6979 steps :
@@ -86,12 +96,12 @@ jobs:
8696 OUT : ${{ steps.get-tag.outputs.sha }}
8797
8898 native_linux :
89- runs-on : ubuntu-20 .04
99+ runs-on : ubuntu-24 .04
90100 timeout-minutes : 60
91101 name : Build native Linux ${{ matrix.node-version }} ${{ matrix.target }} Python ${{ matrix.python-version }}
92102 strategy :
93103 matrix :
94- node-version : [ 20 ]
104+ node-version : [ 22 ]
95105 python-version : [ "fallback" ]
96106 target : [ "x86_64-unknown-linux-gnu" ]
97107 fail-fast : false
@@ -104,7 +114,7 @@ jobs:
104114 - name : Install Rust
105115 uses : actions-rust-lang/setup-rust-toolchain@v1
106116 with :
107- toolchain : nightly-2024-07-15
117+ toolchain : 1.84.1
108118 # override: true # this is by default on
109119 rustflags : " "
110120 components : rustfmt
@@ -149,7 +159,7 @@ jobs:
149159 build :
150160 needs : [latest-tag-sha, native_linux]
151161 if : (needs['latest-tag-sha'].outputs.sha != github.sha)
152- runs-on : ubuntu-20 .04
162+ runs-on : ubuntu-24 .04
153163 timeout-minutes : 30
154164 env :
155165 DOCKERHUB_USERNAME : ${{ secrets.DOCKERHUB_USERNAME }}
@@ -196,7 +206,7 @@ jobs:
196206 path : image.tar.gz
197207
198208 tests :
199- runs-on : ubuntu-20 .04
209+ runs-on : ubuntu-24 .04
200210 timeout-minutes : 30
201211 needs : [latest-tag-sha, build]
202212 if : (needs['latest-tag-sha'].outputs.sha != github.sha)
@@ -205,53 +215,69 @@ jobs:
205215 athena-export-bucket-s3
206216 bigquery-export-bucket-gcs
207217 clickhouse-export-bucket-s3
218+ clickhouse-export-bucket-s3-prefix
208219 databricks-jdbc
209220 databricks-jdbc-export-bucket-s3
221+ databricks-jdbc-export-bucket-s3-prefix
210222 databricks-jdbc-export-bucket-azure
223+ databricks-jdbc-export-bucket-azure-prefix
224+ databricks-jdbc-export-bucket-gcs
225+ databricks-jdbc-export-bucket-gcs-prefix
211226 redshift
212227 redshift-export-bucket-s3
213228 snowflake
229+ snowflake-encrypted-pk
214230 snowflake-export-bucket-s3
231+ snowflake-export-bucket-s3-prefix
215232 snowflake-export-bucket-azure
233+ snowflake-export-bucket-azure-prefix
216234 snowflake-export-bucket-azure-via-storage-integration
217235 snowflake-export-bucket-gcs
236+ snowflake-export-bucket-gcs-prefix
218237 # As per docs:
219238 # Secrets cannot be directly referenced in if: conditionals. Instead, consider setting
220239 # secrets as job-level environment variables, then referencing the environment variables
221240 # to conditionally run steps in the job.
222241 DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY : ${{ secrets.DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY }}
223242 strategy :
224243 matrix :
225- node :
226- - 20.x
227244 database :
228245 - athena-export-bucket-s3
229246 - bigquery-export-bucket-gcs
230247 - clickhouse
231248 - clickhouse-export-bucket-s3
249+ - clickhouse-export-bucket-s3-prefix
232250 - databricks-jdbc
233251 - databricks-jdbc-export-bucket-s3
252+ - databricks-jdbc-export-bucket-s3-prefix
234253 - databricks-jdbc-export-bucket-azure
254+ - databricks-jdbc-export-bucket-azure-prefix
255+ - databricks-jdbc-export-bucket-gcs
256+ - databricks-jdbc-export-bucket-gcs-prefix
235257 - mssql
236258 - mysql
237259 - postgres
238260 - redshift
239261 - redshift-export-bucket-s3
240262 - snowflake
263+ - snowflake-encrypted-pk
241264 - snowflake-export-bucket-s3
265+ - snowflake-export-bucket-s3-prefix
242266 - snowflake-export-bucket-azure
267+ - snowflake-export-bucket-azure-prefix
243268 - snowflake-export-bucket-azure-via-storage-integration
244269 - snowflake-export-bucket-gcs
270+ - snowflake-export-bucket-gcs-prefix
245271 fail-fast : false
246272
247273 steps :
248274 - name : Checkout
249275 uses : actions/checkout@v4
250276
251- - name : Install Node.js 20 .x
277+ - name : Install Node.js 22 .x
252278 uses : actions/setup-node@v4
253279 with :
254- node-version : 20 .x
280+ node-version : 22 .x
255281
256282 - name : Configure `yarn`
257283 run : yarn policies set-version v1.22.22
@@ -308,6 +334,8 @@ jobs:
308334 (contains(env.CLOUD_DATABASES, matrix.database) && env.DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY != '') ||
309335 (!contains(env.CLOUD_DATABASES, matrix.database))
310336 env :
337+ DRIVERS_TESTS_CUBEJS_TESSERACT_SQL_PLANNER : ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.use_tesseract_sql_planner || env.USE_TESSERACT_SQL_PLANNER }}
338+
311339 # Athena
312340 DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY : ${{ secrets.DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY }}
313341 DRIVERS_TESTS_ATHENA_CUBEJS_AWS_SECRET : ${{ secrets.DRIVERS_TESTS_ATHENA_CUBEJS_AWS_SECRET }}
@@ -336,6 +364,8 @@ jobs:
336364 # Snowflake
337365 DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_USER : ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_USER }}
338366 DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_PASS : ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_PASS }}
367+ DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY : ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY }}
368+ DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY_PASS : ${{ secrets.DRIVERS_TESTS_CUBEJS_DB_SNOWFLAKE_PRIVATE_KEY_PASS }}
339369 with :
340370 max_attempts : 3
341371 retry_on : error
0 commit comments