4444 matrix :
4545 # Current docker version + next LTS
4646 node-version : [20.x, 22.x]
47+ python-version : [3.11]
4748 transpile-worker-threads : [false, true]
4849 transpile-native : [false, true]
4950 exclude :
7576 uses : actions/setup-node@v4
7677 with :
7778 node-version : ${{ matrix.node-version }}
79+ - name : Install Python
80+ uses : actions/setup-python@v5
81+ with :
82+ python-version : ${{ matrix.python-version }}
7883 - name : Get yarn cache directory path
7984 id : yarn-cache-dir-path
8085 run : echo "dir=$(yarn cache dir)" >> "$GITHUB_OUTPUT"
@@ -102,6 +107,11 @@ jobs:
102107 run : yarn tsc
103108 - name : Build client
104109 run : yarn build
110+ - name : Build cubejs-backend-native (with Python)
111+ run : yarn run native:build-release-python
112+ working-directory : ./packages/cubejs-backend-native
113+ env :
114+ PYO3_PYTHON : python${{ matrix.python-version }}
105115 - name : Lerna test
106116 run : yarn lerna run --concurrency 1 --stream --no-prefix unit
107117# - uses: codecov/codecov-action@v1
@@ -110,7 +120,9 @@ jobs:
110120# files: ./packages/*/coverage/clover.xml
111121# flags: cube-backend
112122# verbose: true # optional (default = false)
113-
123+ - name : Cargo test cubetranspilers
124+ run : |
125+ cargo test --manifest-path rust/cubetranspilers/Cargo.toml -j 1
114126 lint :
115127 runs-on : ubuntu-20.04
116128 timeout-minutes : 60
@@ -158,6 +170,9 @@ jobs:
158170 run : yarn lint:npm
159171 - name : Lerna lint
160172 run : yarn lerna run --concurrency 1 lint
173+ - name : Cargo fmt cubetranspilers
174+ run : |
175+ cargo fmt --manifest-path rust/cubetranspilers/Cargo.toml -- --check
161176
162177 build :
163178 runs-on : ubuntu-20.04
@@ -210,6 +225,9 @@ jobs:
210225 run : yarn lerna run --concurrency 1 build
211226 env :
212227 NODE_OPTIONS : --max_old_space_size=4096
228+ - name : Cargo build cubetranspilers
229+ run : |
230+ cargo build --manifest-path rust/cubetranspilers/Cargo.toml -j 4
213231
214232 build-cubestore :
215233 needs : [latest-tag-sha]
0 commit comments