blob: 72213e9a52d5138347ebe41e01e9d452e4d7a040 [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:
Yuxuan 'fishy' Wang7e45f582025-04-17 08:41:21 -070044 os:
45 - ubuntu-22.04
46 - ubuntu-24.04
Yuxuan 'fishy' Wange4970302023-06-27 09:47:58 -070047 fail-fast: false
Jiayu Liu6a61c4e2022-04-29 01:25:39 +080048 runs-on: ${{ matrix.os }}
49 steps:
dependabot[bot]d90f2bb2025-12-01 06:29:38 +000050 - uses: actions/checkout@v6
Jiayu Liu6a61c4e2022-04-29 01:25:39 +080051
52 - name: Install dependencies
53 run: |
Jiayu Liu6a61c4e2022-04-29 01:25:39 +080054 sudo apt-get update -yq
Jiayu Liuab83ffc2022-05-10 01:56:30 +080055 sudo apt-get install -y --no-install-recommends g++ $BUILD_DEPS
Jiayu Liu6a61c4e2022-04-29 01:25:39 +080056
57 - name: Run bootstrap
58 run: ./bootstrap.sh
59
60 - name: Run configure
61 run: ./configure --disable-debug --disable-tests --disable-libs
62
63 - name: Run make
64 run: make -j$(nproc)
65
66 - name: Run install
67 run: make install
68
69 - name: Run thrift version
70 run: /usr/local/bin/thrift -version
Jiayu Liuc77d91a2022-05-03 20:55:50 +080071
Jiayu Liue7f1a262024-11-06 11:37:25 +080072 # only upload while building ubuntu-24.04
Jiayu Liuc77d91a2022-05-03 20:55:50 +080073 - name: Archive built thrift compiler
Jiayu Liue7f1a262024-11-06 11:37:25 +080074 if: matrix.os == 'ubuntu-24.04'
dependabot[bot]99e0f6f2026-03-01 06:02:57 +000075 uses: actions/upload-artifact@v7
Jiayu Liuc77d91a2022-05-03 20:55:50 +080076 with:
77 name: thrift-compiler
78 path: compiler/cpp/thrift
79 retention-days: 3
80
Gregg Donovan62ec9292026-01-29 16:51:37 -050081 compiler-macos:
82 strategy:
83 matrix:
84 os: &macos_versions [macos-15-intel, macos-14, macos-15, macos-26]
85 fail-fast: false
86 runs-on: ${{ matrix.os }}
87 steps:
88 - uses: actions/checkout@v6
89
90 - name: Install dependencies
91 run: |
92 brew install automake bison flex boost libevent openssl libtool pkg-config
93 echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
94
95 - name: Run bootstrap
96 run: ./bootstrap.sh
97
98 - name: Run configure
99 run: ./configure --disable-debug --disable-tests --disable-libs
100
101 - name: Run make
102 run: make -j$(sysctl -n hw.ncpu)
103
104 - name: Run install
105 run: sudo make install
106
107 - name: Run thrift version
108 run: /usr/local/bin/thrift -version
109
110 - name: Archive built thrift compiler (macOS)
dependabot[bot]99e0f6f2026-03-01 06:02:57 +0000111 uses: actions/upload-artifact@v7
Gregg Donovan62ec9292026-01-29 16:51:37 -0500112 with:
113 name: thrift-compiler-${{ matrix.os }}
114 path: compiler/cpp/thrift
115 retention-days: 3
116
Volodymyr Panivko8e828c02024-02-19 11:34:48 +0100117 lib-php:
118 needs: compiler
Jiayu Liue7f1a262024-11-06 11:37:25 +0800119 runs-on: ubuntu-24.04
Volodymyr Panivko8e828c02024-02-19 11:34:48 +0100120 strategy:
121 matrix:
vladimir.panivkof6927022024-02-24 17:12:10 +0100122 php-version: [7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3]
Volodymyr Panivko8e828c02024-02-19 11:34:48 +0100123 fail-fast: false
124 steps:
dependabot[bot]d90f2bb2025-12-01 06:29:38 +0000125 - uses: actions/checkout@v6
Volodymyr Panivko8e828c02024-02-19 11:34:48 +0100126
127 - name: Set up PHP
128 uses: shivammathur/setup-php@v2
129 with:
130 php-version: ${{ matrix.php-version }}
Volodymyr Panivko99130042024-03-02 21:41:01 +0100131 extensions: mbstring, intl, xml, curl
Volodymyr Panivkoac52d8d2024-02-22 22:09:00 +0100132 ini-values: "error_reporting=E_ALL"
Volodymyr Panivko8e828c02024-02-19 11:34:48 +0100133
134 - name: Install Dependencies
135 run: composer install
136
Volodymyr Panivko8e828c02024-02-19 11:34:48 +0100137 - name: Run bootstrap
138 run: ./bootstrap.sh
139
140 - name: Run configure
141 run: |
142 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-php/with-php/' | sed 's/without-php_extension/with-php_extension/' )
143
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000144 - uses: actions/download-artifact@v8
Volodymyr Panivko8e828c02024-02-19 11:34:48 +0100145 with:
146 name: thrift-compiler
147 path: compiler/cpp
148
149 - name: Run thrift-compiler
150 run: |
151 chmod a+x compiler/cpp/thrift
152 compiler/cpp/thrift -version
153
154 - name: Build Thrift Classes
155 run: |
156 mkdir -p ./lib/php/test/Resources/packages/php
157 mkdir -p ./lib/php/test/Resources/packages/phpv
158 mkdir -p ./lib/php/test/Resources/packages/phpvo
159 mkdir -p ./lib/php/test/Resources/packages/phpjs
Volodymyr Panivko14fc2be2024-02-22 18:17:40 +0100160 mkdir -p ./lib/php/test/Resources/packages/phpcm
Volodymyr Panivko68139d12024-03-19 23:14:07 +0100161 compiler/cpp/thrift --gen php:nsglobal="Basic" -r --out ./lib/php/test/Resources/packages/php lib/php/test/Resources/ThriftTest.thrift
162 compiler/cpp/thrift --gen php:validate,nsglobal="Validate" -r --out ./lib/php/test/Resources/packages/phpv lib/php/test/Resources/ThriftTest.thrift
163 compiler/cpp/thrift --gen php:validate,oop,nsglobal="ValidateOop" -r --out ./lib/php/test/Resources/packages/phpvo lib/php/test/Resources/ThriftTest.thrift
164 compiler/cpp/thrift --gen php:json,nsglobal="Json" -r --out ./lib/php/test/Resources/packages/phpjs lib/php/test/Resources/ThriftTest.thrift
165 compiler/cpp/thrift --gen php:classmap,server,rest,nsglobal="Classmap" -r --out ./lib/php/test/Resources/packages/phpcm lib/php/test/Resources/ThriftTest.thrift
Volodymyr Panivko8e828c02024-02-19 11:34:48 +0100166
167 - name: Run Tests
168 run: vendor/bin/phpunit -c lib/php/phpunit.xml
169
Jiayu Liud21e95a2022-10-09 08:49:29 +0800170 lib-go:
171 needs: compiler
Jiayu Liue7f1a262024-11-06 11:37:25 +0800172 runs-on: ubuntu-24.04
Yuxuan 'fishy' Wang19c13b42022-10-12 14:13:15 -0700173 strategy:
174 matrix:
175 go:
Yuxuan 'fishy' Wang3b862522025-08-13 09:02:51 -0700176 - '1.25'
Yuxuan 'fishy' Wangfd9756c2026-02-10 17:34:09 -0800177 - '1.26'
Yuxuan 'fishy' Wange4970302023-06-27 09:47:58 -0700178 fail-fast: false
Jiayu Liud21e95a2022-10-09 08:49:29 +0800179 steps:
dependabot[bot]d90f2bb2025-12-01 06:29:38 +0000180 - uses: actions/checkout@v6
Jiayu Liud21e95a2022-10-09 08:49:29 +0800181
dependabot[bot]755f7d92025-10-01 06:01:55 +0000182 - uses: actions/setup-go@v6
Jiayu Liud21e95a2022-10-09 08:49:29 +0800183 with:
Yuxuan 'fishy' Wang19c13b42022-10-12 14:13:15 -0700184 go-version: ${{ matrix.go }}
Jiayu Liud21e95a2022-10-09 08:49:29 +0800185
186 - name: Install dependencies
187 run: |
188 sudo apt-get update -yq
189 sudo apt-get install -y --no-install-recommends $BUILD_DEPS
190
191 - name: Run bootstrap
192 run: ./bootstrap.sh
193
194 - name: Run configure
195 run: |
Jiayu Liu1e3d90d2023-04-14 23:57:33 +0800196 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-go/with-go/')
Jiayu Liud21e95a2022-10-09 08:49:29 +0800197
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000198 - uses: actions/download-artifact@v8
Jiayu Liud21e95a2022-10-09 08:49:29 +0800199 with:
200 name: thrift-compiler
201 path: compiler/cpp
202
203 - name: Run thrift-compiler
204 run: |
205 chmod a+x compiler/cpp/thrift
206 compiler/cpp/thrift -version
207
208 - name: Run make for go
209 run: make -C lib/go
210
Yuxuan 'fishy' Wang19c13b42022-10-12 14:13:15 -0700211 - name: Run make check for lib/go
Jiayu Liud21e95a2022-10-09 08:49:29 +0800212 run: make -C lib/go check
213
Yuxuan 'fishy' Wang19c13b42022-10-12 14:13:15 -0700214 - name: Run make check for test/go
215 run: make -C test/go check
216
Jiayu Liud21e95a2022-10-09 08:49:29 +0800217 - name: Run make precross for go test
218 run: make -C test/go precross
219
220 - name: Upload go precross artifacts
Yuxuan 'fishy' Wangfd9756c2026-02-10 17:34:09 -0800221 if: matrix.go == '1.26'
dependabot[bot]99e0f6f2026-03-01 06:02:57 +0000222 uses: actions/upload-artifact@v7
Jiayu Liud21e95a2022-10-09 08:49:29 +0800223 with:
224 name: go-precross
225 if-no-files-found: error
226 path: |
227 test/go/bin/*
228 retention-days: 3
229
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800230 lib-java-kotlin:
231 needs: compiler
Jiayu Liue7f1a262024-11-06 11:37:25 +0800232 runs-on: ubuntu-24.04
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800233 env:
Jiayu Liud40dd722023-10-19 08:37:49 +0800234 GRADLE_VERSION: "8.4"
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800235 steps:
dependabot[bot]d90f2bb2025-12-01 06:29:38 +0000236 - uses: actions/checkout@v6
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800237
dependabot[bot]eaec8982025-09-05 15:53:08 -0400238 - uses: actions/setup-java@v5
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800239 with:
240 distribution: temurin
Jiayu Liu92b007f2022-10-14 13:16:18 +0800241 java-version: 17
Jiayu Liubcac9782022-05-07 08:35:09 +0800242 cache: "gradle"
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800243
244 - name: Install dependencies
245 run: |
246 sudo apt-get update -yq
247 sudo apt-get install -y --no-install-recommends $BUILD_DEPS
248 sudo apt-get install -y wget unzip ant maven
249
250 - name: Setup gradle
251 run: |
252 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 +0800253 (echo "3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -)
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800254 unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip
255 sudo mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle
256 sudo ln -s /usr/local/gradle/bin/gradle /usr/local/bin
257 gradle --version
258
Jiayu Liubcac9782022-05-07 08:35:09 +0800259 - name: Run spotlessCheck for Java
Jiayu Liu53ec0822022-05-06 12:56:42 +0800260 run: |
261 cd lib/java
262 gradle spotlessCheck
263
Jiayu Liubcac9782022-05-07 08:35:09 +0800264 - name: Run ktfmtCheck for Kotlin
265 run: |
266 cd lib/kotlin
267 gradle ktfmtCheck
268
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800269 - name: Run bootstrap
270 run: ./bootstrap.sh
271
272 - name: Run configure
273 run: |
Jiayu Liu1e3d90d2023-04-14 23:57:33 +0800274 ./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 +0800275
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000276 - uses: actions/download-artifact@v8
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800277 with:
278 name: thrift-compiler
279 path: compiler/cpp
280
281 - name: Run thrift-compiler
282 run: |
283 chmod a+x compiler/cpp/thrift
284 compiler/cpp/thrift -version
285
Jiayu Liubcac9782022-05-07 08:35:09 +0800286 - name: Run make for java
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800287 run: make -C lib/java
288
Jiayu Liu5b158382022-05-12 00:20:37 +0800289 # this will invoke publishToMavenLocal and install locally
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800290 - name: Run make install for java
291 run: make -C lib/java install
292
293 - name: Upload java libthrift artifacts
dependabot[bot]99e0f6f2026-03-01 06:02:57 +0000294 uses: actions/upload-artifact@v7
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800295 with:
296 name: libthrift
297 if-no-files-found: error
298 path: ~/.m2/repository/org/apache/thrift
299
Jiayu Liubcac9782022-05-07 08:35:09 +0800300 - name: Run make check for java
301 run: make -C lib/java check
302
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800303 - name: Run make precross for java
304 run: make -C lib/java precross
305
306 - name: Upload java precross artifacts
dependabot[bot]99e0f6f2026-03-01 06:02:57 +0000307 uses: actions/upload-artifact@v7
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800308 with:
309 name: java-precross
310 if-no-files-found: error
311 path: |
312 lib/java/build/functionalTestJar/
HTHoub5919dd2026-01-05 12:17:56 +0800313 lib/java/build/runnonblockingclient
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800314 lib/java/build/runclient
315 lib/java/build/runnonblockingserver
316 lib/java/build/runserver
317 lib/java/build/runservletserver
318 retention-days: 3
319
Jiayu Liubcac9782022-05-07 08:35:09 +0800320 - name: Run make for kotlin
Jiayu Liuc77d91a2022-05-03 20:55:50 +0800321 run: make -C lib/kotlin
Jiayu Liubcac9782022-05-07 08:35:09 +0800322
323 - name: Run make check for kotlin
324 run: make -C lib/kotlin check
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800325
326 - name: Run make precross for kotlin
327 run: make -C lib/kotlin precross
328
329 - name: Upload kotlin precross artifacts
dependabot[bot]99e0f6f2026-03-01 06:02:57 +0000330 uses: actions/upload-artifact@v7
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800331 with:
332 name: kotlin-precross
333 if-no-files-found: error
334 path: |
335 lib/kotlin/cross-test-client/build/install/TestClient/
336 lib/kotlin/cross-test-server/build/install/TestServer/
337 retention-days: 3
338
Sven Roederercb9cead2024-07-05 12:47:41 +0200339 lib-netstd:
340 needs: compiler
Jiayu Liue7f1a262024-11-06 11:37:25 +0800341 runs-on: ubuntu-24.04
Sven Roederercb9cead2024-07-05 12:47:41 +0200342 strategy:
343 fail-fast: false
Jens Geyer2f214c22025-11-13 23:24:45 +0100344 defaults:
345 run:
346 shell: bash # required by net install script
Sven Roederercb9cead2024-07-05 12:47:41 +0200347 steps:
dependabot[bot]d90f2bb2025-12-01 06:29:38 +0000348 - uses: actions/checkout@v6
Sven Roederercb9cead2024-07-05 12:47:41 +0200349
350 - name: Install dependencies
351 run: |
352 sudo apt-get update -yq
353 sudo apt-get install -y --no-install-recommends $BUILD_DEPS
354 sudo apt-get install -y --no-install-recommends curl openssl ca-certificates
355
Jens Geyer2f214c22025-11-13 23:24:45 +0100356# This whole setup is getting worse: https://github.com/dotnet/core/discussions/9258
357 - name: Set up .NET SDK (via install script)
Jens Geyer3a37d152024-11-14 23:03:25 +0100358 run: |
Jens Geyer2f214c22025-11-13 23:24:45 +0100359 # remove any existing install
HTHoub5919dd2026-01-05 12:17:56 +0800360 sudo apt remove dotnet*
Jens Geyer2f214c22025-11-13 23:24:45 +0100361 # install key
362 sudo apt install gpg
363 wget https://dot.net/v1/dotnet-install.asc
HTHoub5919dd2026-01-05 12:17:56 +0800364 gpg --import dotnet-install.asc
Jens Geyer2f214c22025-11-13 23:24:45 +0100365 # download and verify
366 wget https://dot.net/v1/dotnet-install.sh
367 wget https://dot.net/v1/dotnet-install.sig
HTHoub5919dd2026-01-05 12:17:56 +0800368 gpg --verify dotnet-install.sig dotnet-install.sh
Jens Geyer2f214c22025-11-13 23:24:45 +0100369 # run install script
370 chmod +x dotnet-install.sh
HTHoub5919dd2026-01-05 12:17:56 +0800371 ./dotnet-install.sh --channel 10.0
Jens Geyer2f214c22025-11-13 23:24:45 +0100372 # export env vars
373 export DOTNET_ROOT=$HOME/.dotnet
HTHoub5919dd2026-01-05 12:17:56 +0800374 export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
Jens Geyer2f214c22025-11-13 23:24:45 +0100375 dotnet --list-sdks
376
377# the sdk is installed by default, but keep this step for reference
378# especially newer versions are NOT always pre-installed, so manually again
379# - name: Set up .NET SDK
380# run: |
381# sudo add-apt-repository -y ppa:dotnet/backports
382# sudo apt-get install -y --no-install-recommends dotnet-sdk-10.0
Jens Geyer3a37d152024-11-14 23:03:25 +0100383# end
Sven Roederercb9cead2024-07-05 12:47:41 +0200384
385 - name: Run bootstrap
386 run: ./bootstrap.sh
387
388 - name: Run configure for netstd
389 run: |
390 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-netstd/with-netstd/')
391
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000392 - uses: actions/download-artifact@v8
Sven Roederercb9cead2024-07-05 12:47:41 +0200393 with:
394 name: thrift-compiler
395 path: compiler/cpp
396
397 - name: Run thrift-compiler
398 run: |
399 chmod a+x compiler/cpp/thrift
400 compiler/cpp/thrift -version
401
402 - name: Run make for netstd
403 run: make -C lib/netstd
404
405 - name: Run make install for netstd
406 run: sudo make -C lib/netstd install
407
408 - name: Run make check for netstd
409 run: make -C lib/netstd check
410
411 - name: Run make check for test/netstd
412 run: make -C test/netstd check
413
414 - name: Run make precross for test/netstd
415 run: make -C test/netstd precross
416
417 - name: Upload netstd precross artifacts
dependabot[bot]99e0f6f2026-03-01 06:02:57 +0000418 uses: actions/upload-artifact@v7
Sven Roederercb9cead2024-07-05 12:47:41 +0200419 with:
420 name: netstd-precross
421 if-no-files-found: error
422 path: |
423 test/netstd/Client/bin/Release/
424 test/netstd/Server/bin/Release/
425 retention-days: 3
426
Kino Roya9da9eb2022-10-07 23:13:01 -0700427 lib-swift:
428 needs: compiler
Jiayu Liue7f1a262024-11-06 11:37:25 +0800429 runs-on: ubuntu-24.04
Jens Geyer63b7a262025-05-25 14:48:57 +0200430 if: false # swift is currently broken and no maintainers around -> see THRIFT-5864
Kino Roya9da9eb2022-10-07 23:13:01 -0700431 steps:
dependabot[bot]d90f2bb2025-12-01 06:29:38 +0000432 - uses: actions/checkout@v6
Jiayu Liud21e95a2022-10-09 08:49:29 +0800433
Kino Roya9da9eb2022-10-07 23:13:01 -0700434 - name: Run bootstrap
435 run: ./bootstrap.sh
436
437 - name: Run configure
438 run: |
Jiayu Liu1e3d90d2023-04-14 23:57:33 +0800439 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-swift/with-swift/')
Jiayu Liud21e95a2022-10-09 08:49:29 +0800440
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000441 - uses: actions/download-artifact@v8
Kino Roya9da9eb2022-10-07 23:13:01 -0700442 with:
443 name: thrift-compiler
444 path: compiler/cpp
445
446 - name: Run thrift-compiler
447 run: |
448 chmod a+x compiler/cpp/thrift
449 compiler/cpp/thrift -version
Jiayu Liud21e95a2022-10-09 08:49:29 +0800450
Kino Roya9da9eb2022-10-07 23:13:01 -0700451 - name: Run make precross for swift
452 run: make -C test/swift precross
453
454 - name: Upload swift precross artifacts
dependabot[bot]99e0f6f2026-03-01 06:02:57 +0000455 uses: actions/upload-artifact@v7
Kino Roya9da9eb2022-10-07 23:13:01 -0700456 with:
457 name: swift-precross
458 if-no-files-found: error
459 path: |
460 test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug/TestServer
461 test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug/TestClient
462 retention-days: 3
463
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800464 lib-rust:
465 needs: compiler
Jiayu Liue7f1a262024-11-06 11:37:25 +0800466 runs-on: ubuntu-24.04
Jens Geyere4666f22026-02-20 00:12:57 +0100467 if: false # currently broken and no maintainers around -> see THRIFT-5917
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800468 env:
Cameron Martinda54fc82025-01-12 08:55:45 +0000469 TOOLCHAIN_VERSION: 1.83.0
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800470 steps:
dependabot[bot]d90f2bb2025-12-01 06:29:38 +0000471 - uses: actions/checkout@v6
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800472
473 - name: Install dependencies
474 run: |
475 sudo apt-get update -yq
476 sudo apt-get install -y --no-install-recommends curl $BUILD_DEPS
477
478 - name: Setup cargo
479 run: |
480 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
481 rustup update
482 rustup install $TOOLCHAIN_VERSION
483 rustup default $TOOLCHAIN_VERSION
484 rustup --version
485 cargo --version
486 rustc --version
487
488 - name: Run bootstrap
489 run: ./bootstrap.sh
490
491 - name: Run configure
492 run: |
Jiayu Liu1e3d90d2023-04-14 23:57:33 +0800493 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-rs/with-rs/')
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800494
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000495 - uses: actions/download-artifact@v8
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800496 with:
497 name: thrift-compiler
498 path: compiler/cpp
499
500 - name: Run thrift-compiler
501 run: |
502 chmod a+x compiler/cpp/thrift
503 compiler/cpp/thrift -version
504
505 - name: Run make for rust
506 run: make -C lib/rs
507
508 - name: Run make check for rust
509 run: make -C lib/rs check
510
511 - name: Run make test for rust
512 run: make -C lib/rs/test check
513
514 - name: Run make precross for test rust
515 run: make -C test/rs precross
516
517 - name: Upload rust precross artifacts
dependabot[bot]99e0f6f2026-03-01 06:02:57 +0000518 uses: actions/upload-artifact@v7
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800519 with:
520 name: rs-precross
521 if-no-files-found: error
522 path: |
523 test/rs/bin/test_server
524 test/rs/bin/test_client
525 retention-days: 3
526
527 - name: Run make test_recursive for rust
528 run: make -C lib/rs/test_recursive check
529
Jiayu Liu6f339002023-04-20 07:39:35 +0800530 lib-python:
531 needs: compiler
Jiayu Liue7f1a262024-11-06 11:37:25 +0800532 runs-on: ubuntu-24.04
Jiayu Liu6f339002023-04-20 07:39:35 +0800533 strategy:
534 matrix:
Gregg Donovan62ec9292026-01-29 16:51:37 -0500535 python-version: &python_versions ["3.10", "3.11", "3.12", "3.13", "3.14"]
Yuxuan 'fishy' Wange4970302023-06-27 09:47:58 -0700536 fail-fast: false
Jiayu Liu6f339002023-04-20 07:39:35 +0800537 steps:
dependabot[bot]d90f2bb2025-12-01 06:29:38 +0000538 - uses: actions/checkout@v6
Jiayu Liu6f339002023-04-20 07:39:35 +0800539
540 - name: Install dependencies
541 run: |
542 sudo apt-get update -yq
543 sudo apt-get install -y --no-install-recommends $BUILD_DEPS
544 sudo apt-get install -y --no-install-recommends curl openssl ca-certificates
545
546 - name: Set up Python
dependabot[bot]1a5b7fc2025-10-01 06:01:59 +0000547 uses: actions/setup-python@v6
Jiayu Liu6f339002023-04-20 07:39:35 +0800548 with:
549 python-version: ${{ matrix.python-version }}
550
551 - name: Python setup
552 run: |
Gregg Donovan62ec9292026-01-29 16:51:37 -0500553 python -m pip install --upgrade pip setuptools wheel flake8 "tornado>=6.3.0" "twisted>=24.3.0" "zope.interface>=6.1"
Jiayu Liu6f339002023-04-20 07:39:35 +0800554 python --version
555 pip --version
556
Jiayu Liu6f339002023-04-20 07:39:35 +0800557 - name: Run bootstrap
558 run: ./bootstrap.sh
559
Carel Combrinkf2534ad2025-11-11 12:51:21 +0000560 - name: Run configure
Jiayu Liu6f339002023-04-20 07:39:35 +0800561 run: |
562 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-py3/with-py3/')
563
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000564 - uses: actions/download-artifact@v8
Jiayu Liu6f339002023-04-20 07:39:35 +0800565 with:
566 name: thrift-compiler
567 path: compiler/cpp
568
569 - name: Run thrift-compiler
570 run: |
571 chmod a+x compiler/cpp/thrift
572 compiler/cpp/thrift -version
573
574 - name: Run make for python
575 run: make -C lib/py
576
577 - name: Run make install for python
578 run: sudo make -C lib/py install
579
Carel Combrink7770d272025-11-11 14:07:19 +0200580 - name: Run make check for python libs
Jiayu Liu6f339002023-04-20 07:39:35 +0800581 run: make -C lib/py check
582
Carel Combrink7770d272025-11-11 14:07:19 +0200583 - name: Run make check for python code
584 run: make -C test/py check
585
Gregg Donovanc99d09a2026-02-01 08:36:17 -0500586 - name: Run make precross for python
587 if: matrix.python-version == '3.12'
588 run: make -C test/py precross
589
590 - name: Upload python precross artifacts
591 if: matrix.python-version == '3.12'
dependabot[bot]99e0f6f2026-03-01 06:02:57 +0000592 uses: actions/upload-artifact@v7
Gregg Donovanc99d09a2026-02-01 08:36:17 -0500593 with:
594 name: py-precross
595 if-no-files-found: error
596 path: |
597 lib/py/build/lib.*
598 test/py/gen-py
599 test/py/TestClient.py
600 test/py/TestServer.py
601 test/py/util.py
602 retention-days: 3
603
Gregg Donovan62ec9292026-01-29 16:51:37 -0500604 lib-python-macos:
605 needs: compiler-macos
606 strategy:
607 matrix:
608 os: *macos_versions
609 python-version: *python_versions
610 fail-fast: false
611 runs-on: ${{ matrix.os }}
612 steps:
613 - uses: actions/checkout@v6
614
615 - name: Install dependencies
616 run: |
617 brew install automake bison flex boost libevent openssl libtool pkg-config
618 echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH
619
620 - name: Set up Python
621 uses: actions/setup-python@v6
622 with:
623 python-version: ${{ matrix.python-version }}
624
625 - name: Python setup
626 run: |
627 python -m pip install --upgrade pip setuptools wheel flake8 "tornado>=6.3.0" "twisted>=24.3.0" "zope.interface>=6.1"
628 python --version
629 pip --version
630
631 - name: Run bootstrap
632 run: ./bootstrap.sh
633
634 - name: Run configure
635 run: ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-py3/with-py3/')
636
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000637 - uses: actions/download-artifact@v8
Gregg Donovan62ec9292026-01-29 16:51:37 -0500638 with:
639 name: thrift-compiler-${{ matrix.os }}
640 path: compiler/cpp
641
642 - name: Run thrift-compiler
643 run: |
644 chmod a+x compiler/cpp/thrift
645 compiler/cpp/thrift -version
646
647 - name: Run make for python
648 run: make -C lib/py
649
650 - name: Run make install for python
651 run: |
652 sudo make -C lib/py install PY_PREFIX="$(python -c 'import sys; print(sys.prefix)')"
653
654 - name: Run make for python libs
655 run: make -C lib/py
656
657 - name: Run make check for python libs
658 run: make -C lib/py check
659
660 - name: Run make check for python code
661 run: make -C test/py check
662
Cameron Martinab706522025-01-12 08:54:49 +0000663 lib-nodejs:
664 needs: compiler
665 runs-on: ubuntu-24.04
666 steps:
dependabot[bot]d90f2bb2025-12-01 06:29:38 +0000667 - uses: actions/checkout@v6
Cameron Martinab706522025-01-12 08:54:49 +0000668
669 - name: Run bootstrap
670 run: ./bootstrap.sh
671
672 - name: Run configure
673 run: |
Cameron Martina675c4f2025-01-15 16:38:07 +0000674 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed -E 's/without-node([tj])s/with-node\1s/g')
Cameron Martinab706522025-01-12 08:54:49 +0000675
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000676 - uses: actions/download-artifact@v8
Cameron Martinab706522025-01-12 08:54:49 +0000677 with:
678 name: thrift-compiler
679 path: compiler/cpp
680
681 - name: Run thrift-compiler
682 run: |
683 chmod a+x compiler/cpp/thrift
684 compiler/cpp/thrift -version
685
Cameron Martina675c4f2025-01-15 16:38:07 +0000686 - name: Run js tests
Cameron Martinab706522025-01-12 08:54:49 +0000687 run: make -C lib/nodejs check
688
Cameron Martina675c4f2025-01-15 16:38:07 +0000689 - name: Run ts tests
690 run: make -C lib/nodets check
691
Carel Combrinkfbe685a2025-06-05 08:38:07 +0200692 lib-cpp:
693 needs: compiler
694 runs-on: ubuntu-24.04
695 steps:
dependabot[bot]d90f2bb2025-12-01 06:29:38 +0000696 - uses: actions/checkout@v6
Carel Combrinkfbe685a2025-06-05 08:38:07 +0200697
698 - name: Install dependencies
699 run: |
700 sudo apt-get update -yq
701 sudo apt-get install -y --no-install-recommends g++ $BUILD_DEPS locales
702 sudo locale-gen en_US.UTF-8
703 sudo locale-gen de_DE.UTF-8
704 sudo update-locale
705
706 - name: Run bootstrap
707 run: ./bootstrap.sh
708
709 - name: Run configure
710 run: |
711 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed -E 's/without-cpp/with-cpp/g')
712
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000713 - uses: actions/download-artifact@v8
Carel Combrinkfbe685a2025-06-05 08:38:07 +0200714 with:
715 name: thrift-compiler
716 path: compiler/cpp
717
718 - name: Run thrift-compiler
719 run: |
720 chmod a+x compiler/cpp/thrift
721 compiler/cpp/thrift -version
722
723 - name: Run make for cpp
724 run: make -j$(nproc) -C lib/cpp
725
726 - name: Run make check for lib/cpp
727 run: make -j$(nproc) -C lib/cpp check
728
729 - name: Run make check for test/cpp
730 run: make -j$(nproc) -C test/cpp check
731
732 - name: Run make precross for cpp test
733 run: make -j$(nproc) -C test/cpp precross
734
735 - name: Upload cpp precross artifacts
dependabot[bot]99e0f6f2026-03-01 06:02:57 +0000736 uses: actions/upload-artifact@v7
Carel Combrinkfbe685a2025-06-05 08:38:07 +0200737 with:
738 name: cpp-precross
739 if-no-files-found: error
740 include-hidden-files: true
741 path: |
742 test/cpp/TestClient
743 test/cpp/TestServer
744 test/cpp/.libs/TestClient
745 test/cpp/.libs/TestServer
746 lib/cpp/.libs/*.so
747 retention-days: 3
748
749 - name: Upload log files from failed test runs
dependabot[bot]99e0f6f2026-03-01 06:02:57 +0000750 uses: actions/upload-artifact@v7
Carel Combrinkfbe685a2025-06-05 08:38:07 +0200751 if: failure()
752 with:
753 name: lib-cpp-test-log
754 path: lib/cpp/test/*.xml
755 retention-days: 3
756
Dmytro Shteflyuk6e5e1812025-11-19 18:20:45 -0500757 lib-ruby:
758 needs: compiler
759 runs-on: ubuntu-24.04
Dmytro Shteflyuk75a28772025-12-17 17:07:27 -0500760 name: lib-ruby (${{ matrix.ruby-version }}) ${{ matrix.skip-build-ext && 'noext' || '' }}
Dmytro Shteflyuk6e5e1812025-11-19 18:20:45 -0500761 strategy:
762 matrix:
763 ruby-version: ["2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "4.0", "head"]
Dmytro Shteflyuk75a28772025-12-17 17:07:27 -0500764 skip-build-ext: [false]
765 include:
766 - ruby-version: "2.7"
767 skip-build-ext: true
Dmytro Shteflyuk6e5e1812025-11-19 18:20:45 -0500768 fail-fast: false
Dmytro Shteflyuk75a28772025-12-17 17:07:27 -0500769 env:
770 SKIP_BUILD_EXT: ${{ matrix.skip-build-ext && '1' || '' }}
Dmytro Shteflyuk6e5e1812025-11-19 18:20:45 -0500771 steps:
dependabot[bot]d4cbd782026-02-04 16:10:02 +0000772 - uses: actions/checkout@v6
Dmytro Shteflyuk6e5e1812025-11-19 18:20:45 -0500773
774 - name: Set up Ruby
775 uses: ruby/setup-ruby@v1
776 with:
777 ruby-version: ${{ matrix.ruby-version }}
778 bundler-cache: true
779 working-directory: lib/rb
780
781 - name: Run bootstrap
782 run: ./bootstrap.sh
783
784 - name: Run configure
785 run: |
786 ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-ruby/with-ruby/')
787
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000788 - uses: actions/download-artifact@v8
Dmytro Shteflyuk6e5e1812025-11-19 18:20:45 -0500789 with:
790 name: thrift-compiler
791 path: compiler/cpp
792
793 - name: Run thrift-compiler
794 run: |
795 chmod a+x compiler/cpp/thrift
796 compiler/cpp/thrift -version
797
798 - name: Run make for ruby
799 run: make -C lib/rb
800
801 - name: Run make check for lib/rb
802 run: make -C lib/rb check
803
804 - name: Run make check for test/rb
805 run: make -C test/rb check
806
Dmytro Shteflyuk84554fa2025-11-19 19:41:05 -0500807 - name: Run make precross for ruby test
808 run: make -C test/rb precross
809
810 - name: Upload ruby precross artifacts
811 # has to match the version used in cross-test
812 if: matrix.ruby-version == '2.7' && matrix.skip-build-ext == false
dependabot[bot]99e0f6f2026-03-01 06:02:57 +0000813 uses: actions/upload-artifact@v7
Dmytro Shteflyuk84554fa2025-11-19 19:41:05 -0500814 with:
815 name: rb-precross
816 if-no-files-found: error
817 path: |
818 test/rb/gen-rb/*
819 lib/rb/ext/*.so
820 retention-days: 3
821
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800822 cross-test:
823 needs:
824 - lib-java-kotlin
Jens Geyere4666f22026-02-20 00:12:57 +0100825 #- lib-swift # currently broken and no maintainers around -> see THRIFT-5864
826 #- lib-rust # currently broken and no maintainers around -> see THRIFT-5917
Jiayu Liud21e95a2022-10-09 08:49:29 +0800827 - lib-go
Jiayu Liu6f339002023-04-20 07:39:35 +0800828 - lib-python
Carel Combrinkfbe685a2025-06-05 08:38:07 +0200829 - lib-cpp
Dmytro Shteflyuk84554fa2025-11-19 19:41:05 -0500830 - lib-ruby
Jiayu Liue7f1a262024-11-06 11:37:25 +0800831 runs-on: ubuntu-24.04
Jiayu Liu790d4cb2023-04-27 11:35:17 +0800832 strategy:
833 matrix:
Jens Geyer63b7a262025-05-25 14:48:57 +0200834 # swift is currently broken and no maintainers around -> see THRIFT-5864
Jens Geyere4666f22026-02-20 00:12:57 +0100835 # rust currently broken and no maintainers around -> see THRIFT-5917
Careled55a182025-11-14 10:54:52 +0200836 # kotlin cross test are failing -> see THRIFT-5879
Jens Geyere4666f22026-02-20 00:12:57 +0100837 server_lang: ['java', 'go', 'cpp', 'py', 'rb']
Jiayu Liu790d4cb2023-04-27 11:35:17 +0800838 # we always use comma join as many client langs as possible, to reduce the number of jobs
Carel Combrinka715bdf2025-10-30 07:44:21 +0100839 client_lang: ['java,kotlin', 'go,cpp,py', 'rb']
Jiayu Liu790d4cb2023-04-27 11:35:17 +0800840 fail-fast: false
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800841 steps:
dependabot[bot]d90f2bb2025-12-01 06:29:38 +0000842 - uses: actions/checkout@v6
Jiayu Liud21e95a2022-10-09 08:49:29 +0800843
dependabot[bot]1a5b7fc2025-10-01 06:01:59 +0000844 - uses: actions/setup-python@v6
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800845 with:
Gregg Donovanc99d09a2026-02-01 08:36:17 -0500846 python-version: "3.12"
847
848 - name: Install Python test dependencies
849 run: |
850 python -m pip install --upgrade pip setuptools
851 python -m pip install "tornado>=6.3.0" "twisted>=24.3.0" "zope.interface>=6.1"
Jiayu Liud21e95a2022-10-09 08:49:29 +0800852
dependabot[bot]eaec8982025-09-05 15:53:08 -0400853 - uses: actions/setup-java@v5
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800854 with:
855 distribution: temurin
Jiayu Liube73a572023-04-14 11:02:43 +0800856 # here we intentionally use an older version so that we also verify Java 17 compiles to it
Fokko Driesprong0b14a1b2023-04-14 11:06:15 +0200857 java-version: 8
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800858 cache: "gradle"
859
Dmytro Shteflyuk84554fa2025-11-19 19:41:05 -0500860 - uses: ruby/setup-ruby@v1
861 with:
862 ruby-version: "2.7"
863 bundler-cache: true
864 working-directory: test/rb
865
Jiayu Liud21e95a2022-10-09 08:49:29 +0800866 - name: Install openssl and certificates (for SSL tests)
867 run: |
868 sudo apt-get update -yq
Carel Combrinkfbe685a2025-06-05 08:38:07 +0200869 sudo apt-get install -y --no-install-recommends \
870 openssl \
871 ca-certificates \
872 libboost-all-dev \
873 libevent-dev
Jiayu Liud21e95a2022-10-09 08:49:29 +0800874
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800875 - name: Download java precross artifacts
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000876 uses: actions/download-artifact@v8
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800877 with:
878 name: java-precross
879 path: lib/java/build
880
881 - name: Download kotlin precross artifacts
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000882 uses: actions/download-artifact@v8
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800883 with:
884 name: kotlin-precross
885 path: lib/kotlin
886
Jens Geyere4666f22026-02-20 00:12:57 +0100887 - name: Download swift precross artifacts
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000888 uses: actions/download-artifact@v8
Jens Geyere4666f22026-02-20 00:12:57 +0100889 if: false # currently broken and no maintainers around -> see THRIFT-5864
890 with:
891 name: swift-precross
892 path: test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug
Kino Roya9da9eb2022-10-07 23:13:01 -0700893
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800894 - name: Download rust precross artifacts
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000895 uses: actions/download-artifact@v8
Jens Geyere4666f22026-02-20 00:12:57 +0100896 if: false # currently broken and no maintainers around -> see THRIFT-5917
Jiayu Liu0aad2ae2022-10-08 13:22:24 +0800897 with:
898 name: rs-precross
899 path: test/rs/bin
900
Jiayu Liud21e95a2022-10-09 08:49:29 +0800901 - name: Download go precross artifacts
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000902 uses: actions/download-artifact@v8
Jiayu Liud21e95a2022-10-09 08:49:29 +0800903 with:
904 name: go-precross
905 path: test/go/bin
906
Carel Combrinkfbe685a2025-06-05 08:38:07 +0200907 - name: Download cpp precross artifacts
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000908 uses: actions/download-artifact@v8
Carel Combrinkfbe685a2025-06-05 08:38:07 +0200909 with:
910 name: cpp-precross
911 path: .
912
Gregg Donovanc99d09a2026-02-01 08:36:17 -0500913 - name: Download python precross artifacts
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000914 uses: actions/download-artifact@v8
Gregg Donovanc99d09a2026-02-01 08:36:17 -0500915 with:
916 name: py-precross
917 path: .
918
Dmytro Shteflyuk84554fa2025-11-19 19:41:05 -0500919 - name: Download ruby precross artifacts
dependabot[bot]2ee7d112026-03-01 06:03:04 +0000920 uses: actions/download-artifact@v8
Dmytro Shteflyuk84554fa2025-11-19 19:41:05 -0500921 with:
922 name: rb-precross
923 path: .
924
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800925 - name: Set back executable flags
926 run: |
Yuxuan 'fishy' Wang716835f2025-05-28 15:44:53 -0700927 chmod a+x lib/java/build/run*
928 chmod a+x lib/kotlin/cross-test-client/build/install/TestClient/bin/*
929 chmod a+x lib/kotlin/cross-test-server/build/install/TestServer/bin/*
930 # THRIFT-5864 chmod a+x test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug/*
Jens Geyere4666f22026-02-20 00:12:57 +0100931 # THRIFT-5917 chmod a+x test/rs/bin/*
Yuxuan 'fishy' Wang716835f2025-05-28 15:44:53 -0700932 chmod a+x test/go/bin/*
Carel Combrinkfbe685a2025-06-05 08:38:07 +0200933 chmod a+x test/cpp/*
934 chmod a+x test/cpp/.libs/*
935 chmod a+x lib/cpp/.libs/*.so
Gregg Donovanc99d09a2026-02-01 08:36:17 -0500936 chmod a+x test/py/*.py
Dmytro Shteflyuk84554fa2025-11-19 19:41:05 -0500937 chmod a+x lib/rb/ext/*.so
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800938
Kino Roy29d87732023-02-20 22:32:43 -0800939 - name: Create tmp domain socket folder
940 run: mkdir /tmp/v0.16
941
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800942 - name: Run cross test
943 env:
944 THRIFT_CROSSTEST_CONCURRENCY: 4
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800945 run: |
946 python test/test.py \
947 --retry-count 5 \
948 --skip-known-failures \
Jiayu Liu790d4cb2023-04-27 11:35:17 +0800949 --server ${{ matrix.server_lang }} \
950 --client ${{ matrix.client_lang }}
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800951
952 - name: Upload log files from failed cross test runs
dependabot[bot]99e0f6f2026-03-01 06:02:57 +0000953 uses: actions/upload-artifact@v7
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800954 if: failure()
955 with:
Sven Roederer18b0de62024-07-06 03:59:37 +0200956 name: cross-test-log_${{ matrix.server_lang }}-${{ matrix.client_lang }}
Jiayu Liuab83ffc2022-05-10 01:56:30 +0800957 path: test/log/
958 retention-days: 3