blob: aeb1614134ae9d9a289a61920b1844faa4a57c5d [file] [log] [blame]
Jiayu Liubcac9782022-05-07 08:35:09 +08001name: "Build"
Jiayu Liuc77d91a2022-05-03 20:55:50 +08002
Jiayu Liu6a61c4e2022-04-29 01:25:39 +08003on:
4 push:
Jiayu Liubcac9782022-05-07 08:35:09 +08005 branches: ["*"]
Jiayu Liu6a61c4e2022-04-29 01:25:39 +08006 pull_request:
Jiayu Liubcac9782022-05-07 08:35:09 +08007 branches: ["*"]
Jiayu Liuc77d91a2022-05-03 20:55:50 +08008
9env:
Jiayu Liuab83ffc2022-05-10 01:56:30 +080010 BUILD_DEPS: automake bison flex git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config
Jiayu Liu1e3d90d2023-04-14 23:57:33 +080011 CONFIG_ARGS_FOR_LIBS: >
12 --disable-debug
Jiayu Liu1e3d90d2023-04-14 23:57:33 +080013 --disable-dependency-tracking
14 --without-cpp
15 --without-c_glib
16 --without-java
17 --without-kotlin
18 --without-python
19 --without-py3
20 --without-ruby
21 --without-haxe
22 --without-netstd
23 --without-perl
24 --without-php
25 --without-php_extension
26 --without-dart
27 --without-erlang
28 --without-go
29 --without-d
30 --without-nodejs
31 --without-nodets
32 --without-lua
33 --without-rs
34 --without-swift
Jiayu Liuc77d91a2022-05-03 20:55:50 +080035
Varun Sharmabd1e5db2022-09-14 07:31:30 -070036permissions:
37 contents: read
38
Jiayu Liu6a61c4e2022-04-29 01:25:39 +080039jobs:
40 # TODO windows and macos
Jiayu Liuc77d91a2022-05-03 20:55:50 +080041 compiler:
Jiayu Liu6a61c4e2022-04-29 01:25:39 +080042 strategy:
Jiayu Liuc77d91a2022-05-03 20:55:50 +080043 matrix:
Jiayu Liu564b2872022-10-12 11:42:38 +080044 os: [ubuntu-20.04, ubuntu-22.04]
Yuxuan 'fishy' Wange4970302023-06-27 09:47:58 -070045 fail-fast: false
Jiayu Liu6a61c4e2022-04-29 01:25:39 +080046 runs-on: ${{ matrix.os }}
47 steps:
dependabot[bot]a14231c2023-10-04 18:33:29 -040048 - uses: actions/checkout@v4
Jiayu Liu6a61c4e2022-04-29 01:25:39 +080049
50 - name: Install dependencies
51 run: |
Jiayu Liu6a61c4e2022-04-29 01:25:39 +080052 sudo apt-get update -yq
Jiayu Liuab83ffc2022-05-10 01:56:30 +080053 sudo apt-get install -y --no-install-recommends g++ $BUILD_DEPS
Jiayu Liu6a61c4e2022-04-29 01:25:39 +080054
55 - name: Run bootstrap
56 run: ./bootstrap.sh
57
58 - name: Run configure
59 run: ./configure --disable-debug --disable-tests --disable-libs
60
61 - name: Run make
62 run: make -j$(nproc)
63
64 - name: Run install
65 run: make install
66
67 - name: Run thrift version
68 run: /usr/local/bin/thrift -version
Jiayu Liuc77d91a2022-05-03 20:55:50 +080069
70 # only upload while building ubuntu-20.04
71 - name: Archive built thrift compiler
72 if: matrix.os == 'ubuntu-20.04'
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -080073 uses: actions/upload-artifact@v3
Jiayu Liuc77d91a2022-05-03 20:55:50 +080074 with:
75 name: thrift-compiler
76 path: compiler/cpp/thrift
77 retention-days: 3
78
Jiayu Liud21e95a2022-10-09 08:49:29 +080079 lib-go:
80 needs: compiler
81 runs-on: ubuntu-20.04
Yuxuan 'fishy' Wang19c13b42022-10-12 14:13:15 -070082 strategy:
83 matrix:
84 go:
Yuxuan 'fishy' Wangdc733fa2023-06-23 09:29:25 -070085 - '1.21'
Yuxuan 'fishy' Wang875178c2023-11-17 12:36:31 -080086 - '1.22'
Yuxuan 'fishy' Wange4970302023-06-27 09:47:58 -070087 fail-fast: false
Jiayu Liud21e95a2022-10-09 08:49:29 +080088 steps:
dependabot[bot]a14231c2023-10-04 18:33:29 -040089 - uses: actions/checkout@v4
Jiayu Liud21e95a2022-10-09 08:49:29 +080090
dependabot[bot]1ebfcf82024-01-03 16:59:31 +000091 - uses: actions/setup-go@v5
Jiayu Liud21e95a2022-10-09 08:49:29 +080092 with:
Yuxuan 'fishy' Wang19c13b42022-10-12 14:13:15 -070093 go-version: ${{ matrix.go }}
Jiayu Liud21e95a2022-10-09 08:49:29 +080094
95 - name: Install dependencies
96 run: |
97 sudo apt-get update -yq
98 sudo apt-get install -y --no-install-recommends $BUILD_DEPS
99
100 - name: Run bootstrap
101 run: ./bootstrap.sh
102
103 - name: Run configure
104 run: |
Jiayu Liu1e3d90d2023-04-14 23:57:33 +0800105 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-go/with-go/')
Jiayu Liud21e95a2022-10-09 08:49:29 +0800106
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800107 - uses: actions/download-artifact@v3
Jiayu Liud21e95a2022-10-09 08:49:29 +0800108 with:
109 name: thrift-compiler
110 path: compiler/cpp
111
112 - name: Run thrift-compiler
113 run: |
114 chmod a+x compiler/cpp/thrift
115 compiler/cpp/thrift -version
116
117 - name: Run make for go
118 run: make -C lib/go
119
Yuxuan 'fishy' Wang19c13b42022-10-12 14:13:15 -0700120 - name: Run make check for lib/go
Jiayu Liud21e95a2022-10-09 08:49:29 +0800121 run: make -C lib/go check
122
Yuxuan 'fishy' Wang19c13b42022-10-12 14:13:15 -0700123 - name: Run make check for test/go
124 run: make -C test/go check
125
Jiayu Liud21e95a2022-10-09 08:49:29 +0800126 - name: Run make precross for go test
127 run: make -C test/go precross
128
129 - name: Upload go precross artifacts
Yuxuan 'fishy' Wang875178c2023-11-17 12:36:31 -0800130 if: matrix.go == '1.22'
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800131 uses: actions/upload-artifact@v3
Jiayu Liud21e95a2022-10-09 08:49:29 +0800132 with:
133 name: go-precross
134 if-no-files-found: error
135 path: |
136 test/go/bin/*
137 retention-days: 3
138
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800139 lib-java-kotlin:
140 needs: compiler
141 runs-on: ubuntu-20.04
142 env:
Jiayu Liud40dd722023-10-19 08:37:49 +0800143 GRADLE_VERSION: "8.4"
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800144 steps:
dependabot[bot]a14231c2023-10-04 18:33:29 -0400145 - uses: actions/checkout@v4
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800146
dependabot[bot]f4b6d962023-12-01 06:30:44 +0000147 - uses: actions/setup-java@v4
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800148 with:
149 distribution: temurin
Jiayu Liu92b007f2022-10-14 13:16:18 +0800150 java-version: 17
Jiayu Liubcac9782022-05-07 08:35:09 +0800151 cache: "gradle"
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800152
153 - name: Install dependencies
154 run: |
155 sudo apt-get update -yq
156 sudo apt-get install -y --no-install-recommends $BUILD_DEPS
157 sudo apt-get install -y wget unzip ant maven
158
159 - name: Setup gradle
160 run: |
161 wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip
Jiayu Liud40dd722023-10-19 08:37:49 +0800162 (echo "3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -)
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800163 unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip
164 sudo mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle
165 sudo ln -s /usr/local/gradle/bin/gradle /usr/local/bin
166 gradle --version
167
Jiayu Liubcac9782022-05-07 08:35:09 +0800168 - name: Run spotlessCheck for Java
Jiayu Liu53ec0822022-05-06 12:56:42 +0800169 run: |
170 cd lib/java
171 gradle spotlessCheck
172
Jiayu Liubcac9782022-05-07 08:35:09 +0800173 - name: Run ktfmtCheck for Kotlin
174 run: |
175 cd lib/kotlin
176 gradle ktfmtCheck
177
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800178 - name: Run bootstrap
179 run: ./bootstrap.sh
180
181 - name: Run configure
182 run: |
Jiayu Liu1e3d90d2023-04-14 23:57:33 +0800183 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-java/with-java/' | sed 's/without-kotlin/with-kotlin/')
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800184
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800185 - uses: actions/download-artifact@v3
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800186 with:
187 name: thrift-compiler
188 path: compiler/cpp
189
190 - name: Run thrift-compiler
191 run: |
192 chmod a+x compiler/cpp/thrift
193 compiler/cpp/thrift -version
194
Jiayu Liubcac9782022-05-07 08:35:09 +0800195 - name: Run make for java
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800196 run: make -C lib/java
197
Jiayu Liu5b158382022-05-12 00:20:37 +0800198 # this will invoke publishToMavenLocal and install locally
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800199 - name: Run make install for java
200 run: make -C lib/java install
201
202 - name: Upload java libthrift artifacts
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800203 uses: actions/upload-artifact@v3
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800204 with:
205 name: libthrift
206 if-no-files-found: error
207 path: ~/.m2/repository/org/apache/thrift
208
Jiayu Liubcac9782022-05-07 08:35:09 +0800209 - name: Run make check for java
210 run: make -C lib/java check
211
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800212 - name: Run make precross for java
213 run: make -C lib/java precross
214
215 - name: Upload java precross artifacts
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800216 uses: actions/upload-artifact@v3
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800217 with:
218 name: java-precross
219 if-no-files-found: error
220 path: |
221 lib/java/build/functionalTestJar/
222 lib/java/build/runclient
223 lib/java/build/runnonblockingserver
224 lib/java/build/runserver
225 lib/java/build/runservletserver
226 retention-days: 3
227
Jiayu Liubcac9782022-05-07 08:35:09 +0800228 - name: Run make for kotlin
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800229 run: make -C lib/kotlin
Jiayu Liubcac9782022-05-07 08:35:09 +0800230
231 - name: Run make check for kotlin
232 run: make -C lib/kotlin check
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800233
234 - name: Run make precross for kotlin
235 run: make -C lib/kotlin precross
236
237 - name: Upload kotlin precross artifacts
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800238 uses: actions/upload-artifact@v3
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800239 with:
240 name: kotlin-precross
241 if-no-files-found: error
242 path: |
243 lib/kotlin/cross-test-client/build/install/TestClient/
244 lib/kotlin/cross-test-server/build/install/TestServer/
245 retention-days: 3
246
Kino Roya9da9eb2022-10-07 23:13:01 -0700247 lib-swift:
248 needs: compiler
249 runs-on: ubuntu-20.04
250 steps:
dependabot[bot]a14231c2023-10-04 18:33:29 -0400251 - uses: actions/checkout@v4
Jiayu Liud21e95a2022-10-09 08:49:29 +0800252
Kino Roya9da9eb2022-10-07 23:13:01 -0700253 - name: Run bootstrap
254 run: ./bootstrap.sh
255
256 - name: Run configure
257 run: |
Jiayu Liu1e3d90d2023-04-14 23:57:33 +0800258 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-swift/with-swift/')
Jiayu Liud21e95a2022-10-09 08:49:29 +0800259
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800260 - uses: actions/download-artifact@v3
Kino Roya9da9eb2022-10-07 23:13:01 -0700261 with:
262 name: thrift-compiler
263 path: compiler/cpp
264
265 - name: Run thrift-compiler
266 run: |
267 chmod a+x compiler/cpp/thrift
268 compiler/cpp/thrift -version
Jiayu Liud21e95a2022-10-09 08:49:29 +0800269
Kino Roya9da9eb2022-10-07 23:13:01 -0700270 - name: Run make precross for swift
271 run: make -C test/swift precross
272
273 - name: Upload swift precross artifacts
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800274 uses: actions/upload-artifact@v3
Kino Roya9da9eb2022-10-07 23:13:01 -0700275 with:
276 name: swift-precross
277 if-no-files-found: error
278 path: |
279 test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug/TestServer
280 test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug/TestClient
281 retention-days: 3
282
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800283 lib-rust:
284 needs: compiler
285 runs-on: ubuntu-20.04
286 env:
Jiayu Liufbfa52c2023-11-07 13:47:24 +0800287 TOOLCHAIN_VERSION: 1.65.0
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800288 steps:
dependabot[bot]a14231c2023-10-04 18:33:29 -0400289 - uses: actions/checkout@v4
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800290
291 - name: Install dependencies
292 run: |
293 sudo apt-get update -yq
294 sudo apt-get install -y --no-install-recommends curl $BUILD_DEPS
295
296 - name: Setup cargo
297 run: |
298 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
299 rustup update
300 rustup install $TOOLCHAIN_VERSION
301 rustup default $TOOLCHAIN_VERSION
302 rustup --version
303 cargo --version
304 rustc --version
305
306 - name: Run bootstrap
307 run: ./bootstrap.sh
308
309 - name: Run configure
310 run: |
Jiayu Liu1e3d90d2023-04-14 23:57:33 +0800311 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-rs/with-rs/')
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800312
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800313 - uses: actions/download-artifact@v3
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800314 with:
315 name: thrift-compiler
316 path: compiler/cpp
317
318 - name: Run thrift-compiler
319 run: |
320 chmod a+x compiler/cpp/thrift
321 compiler/cpp/thrift -version
322
323 - name: Run make for rust
324 run: make -C lib/rs
325
326 - name: Run make check for rust
327 run: make -C lib/rs check
328
329 - name: Run make test for rust
330 run: make -C lib/rs/test check
331
332 - name: Run make precross for test rust
333 run: make -C test/rs precross
334
335 - name: Upload rust precross artifacts
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800336 uses: actions/upload-artifact@v3
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800337 with:
338 name: rs-precross
339 if-no-files-found: error
340 path: |
341 test/rs/bin/test_server
342 test/rs/bin/test_client
343 retention-days: 3
344
345 - name: Run make test_recursive for rust
346 run: make -C lib/rs/test_recursive check
347
Jiayu Liu6f339002023-04-20 07:39:35 +0800348 lib-python:
349 needs: compiler
350 runs-on: ubuntu-20.04
351 strategy:
352 matrix:
Yuxuan 'fishy' Wange4970302023-06-27 09:47:58 -0700353 python-version:
354 - "3.x"
355 fail-fast: false
Jiayu Liu6f339002023-04-20 07:39:35 +0800356 steps:
dependabot[bot]a14231c2023-10-04 18:33:29 -0400357 - uses: actions/checkout@v4
Jiayu Liu6f339002023-04-20 07:39:35 +0800358
359 - name: Install dependencies
360 run: |
361 sudo apt-get update -yq
362 sudo apt-get install -y --no-install-recommends $BUILD_DEPS
363 sudo apt-get install -y --no-install-recommends curl openssl ca-certificates
364
365 - name: Set up Python
dependabot[bot]30c28452024-01-03 16:59:14 +0000366 uses: actions/setup-python@v5
Jiayu Liu6f339002023-04-20 07:39:35 +0800367 with:
368 python-version: ${{ matrix.python-version }}
369
370 - name: Python setup
371 run: |
372 python -m pip install --upgrade pip setuptools wheel flake8 tornado twisted zope.interface
373 python --version
374 pip --version
375
Jiayu Liu6f339002023-04-20 07:39:35 +0800376 - name: Run bootstrap
377 run: ./bootstrap.sh
378
Jiayu Liu6f339002023-04-20 07:39:35 +0800379 - name: Run configure 3.x
Yuxuan 'fishy' Wange4970302023-06-27 09:47:58 -0700380 if: matrix.python-version == '3.x'
Jiayu Liu6f339002023-04-20 07:39:35 +0800381 run: |
382 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-py3/with-py3/')
383
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800384 - uses: actions/download-artifact@v3
Jiayu Liu6f339002023-04-20 07:39:35 +0800385 with:
386 name: thrift-compiler
387 path: compiler/cpp
388
389 - name: Run thrift-compiler
390 run: |
391 chmod a+x compiler/cpp/thrift
392 compiler/cpp/thrift -version
393
394 - name: Run make for python
395 run: make -C lib/py
396
397 - name: Run make install for python
398 run: sudo make -C lib/py install
399
400 # - name: Run make install-exec-hook for python
401 # run: sudo make -C lib/py install-exec-hook
402
403 - name: Run make check for python
404 run: make -C lib/py check
405
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800406 cross-test:
407 needs:
408 - lib-java-kotlin
Kino Roya9da9eb2022-10-07 23:13:01 -0700409 - lib-swift
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800410 - lib-rust
Jiayu Liud21e95a2022-10-09 08:49:29 +0800411 - lib-go
Jiayu Liu6f339002023-04-20 07:39:35 +0800412 - lib-python
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800413 runs-on: ubuntu-20.04
Jiayu Liu790d4cb2023-04-27 11:35:17 +0800414 strategy:
415 matrix:
416 server_lang: ['java', 'kotlin', 'go', 'rs', 'swift']
417 # we always use comma join as many client langs as possible, to reduce the number of jobs
418 client_lang: ['java,kotlin', 'go,rs', 'swift']
419 fail-fast: false
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800420 steps:
dependabot[bot]a14231c2023-10-04 18:33:29 -0400421 - uses: actions/checkout@v4
Jiayu Liud21e95a2022-10-09 08:49:29 +0800422
dependabot[bot]30c28452024-01-03 16:59:14 +0000423 - uses: actions/setup-python@v5
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800424 with:
425 python-version: "3.x"
Jiayu Liud21e95a2022-10-09 08:49:29 +0800426
dependabot[bot]f4b6d962023-12-01 06:30:44 +0000427 - uses: actions/setup-java@v4
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800428 with:
429 distribution: temurin
Jiayu Liube73a572023-04-14 11:02:43 +0800430 # here we intentionally use an older version so that we also verify Java 17 compiles to it
Fokko Driesprong0b14a1b2023-04-14 11:06:15 +0200431 java-version: 8
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800432 cache: "gradle"
433
Jiayu Liud21e95a2022-10-09 08:49:29 +0800434 - name: Install openssl and certificates (for SSL tests)
435 run: |
436 sudo apt-get update -yq
437 sudo apt-get install -y --no-install-recommends openssl ca-certificates
438
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800439 - name: Download java precross artifacts
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800440 uses: actions/download-artifact@v3
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800441 with:
442 name: java-precross
443 path: lib/java/build
444
445 - name: Download kotlin precross artifacts
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800446 uses: actions/download-artifact@v3
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800447 with:
448 name: kotlin-precross
449 path: lib/kotlin
450
Kino Roya9da9eb2022-10-07 23:13:01 -0700451 - name: Download swift precross artifacts
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800452 uses: actions/download-artifact@v3
Kino Roya9da9eb2022-10-07 23:13:01 -0700453 with:
454 name: swift-precross
455 path: test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug
456
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800457 - name: Download rust precross artifacts
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800458 uses: actions/download-artifact@v3
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800459 with:
460 name: rs-precross
461 path: test/rs/bin
462
Jiayu Liud21e95a2022-10-09 08:49:29 +0800463 - name: Download go precross artifacts
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800464 uses: actions/download-artifact@v3
Jiayu Liud21e95a2022-10-09 08:49:29 +0800465 with:
466 name: go-precross
467 path: test/go/bin
468
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800469 - name: Set back executable flags
470 run: |
471 chmod a+x \
472 lib/java/build/run* \
473 lib/kotlin/cross-test-client/build/install/TestClient/bin/* \
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800474 lib/kotlin/cross-test-server/build/install/TestServer/bin/* \
Kino Roya9da9eb2022-10-07 23:13:01 -0700475 test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug/* \
Jiayu Liud21e95a2022-10-09 08:49:29 +0800476 test/rs/bin/* \
477 test/go/bin/*
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800478
479 - name: Run cross test
480 env:
481 THRIFT_CROSSTEST_CONCURRENCY: 4
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800482 run: |
483 python test/test.py \
484 --retry-count 5 \
485 --skip-known-failures \
Jiayu Liu790d4cb2023-04-27 11:35:17 +0800486 --server ${{ matrix.server_lang }} \
487 --client ${{ matrix.client_lang }}
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800488
489 - name: Upload log files from failed cross test runs
Yuxuan 'fishy' Wang3dcc0cd2024-01-08 14:11:25 -0800490 uses: actions/upload-artifact@v3
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800491 if: failure()
492 with:
493 name: cross-test-log
494 path: test/log/
495 retention-days: 3
Jiayu Liu6f339002023-04-20 07:39:35 +0800496