forked from apache/thrift
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from apache/master
Merge from apache/thrift:master
- Loading branch information
Showing
730 changed files
with
28,103 additions
and
17,061 deletions.
There are no files selected for viewing
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,235 @@ | ||
name: "Build" | ||
|
||
on: | ||
push: | ||
branches: ["*"] | ||
pull_request: | ||
branches: ["*"] | ||
|
||
env: | ||
BUILD_DEPS: automake bison flex git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config | ||
|
||
jobs: | ||
# TODO windows and macos | ||
compiler: | ||
strategy: | ||
matrix: | ||
os: [ubuntu-18.04, ubuntu-20.04] | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Install dependencies | ||
run: | | ||
sudo apt-get update -yq | ||
sudo apt-get install -y --no-install-recommends g++ $BUILD_DEPS | ||
- name: Run bootstrap | ||
run: ./bootstrap.sh | ||
|
||
- name: Run configure | ||
run: ./configure --disable-debug --disable-tests --disable-libs | ||
|
||
- name: Run make | ||
run: make -j$(nproc) | ||
|
||
- name: Run install | ||
run: make install | ||
|
||
- name: Run thrift version | ||
run: /usr/local/bin/thrift -version | ||
|
||
# only upload while building ubuntu-20.04 | ||
- name: Archive built thrift compiler | ||
if: matrix.os == 'ubuntu-20.04' | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: thrift-compiler | ||
path: compiler/cpp/thrift | ||
retention-days: 3 | ||
|
||
lib-java-kotlin: | ||
needs: compiler | ||
runs-on: ubuntu-20.04 | ||
env: | ||
GRADLE_VERSION: 7.4.2 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- uses: actions/setup-java@v3 | ||
with: | ||
distribution: temurin | ||
java-version: 11 | ||
cache: "gradle" | ||
|
||
- name: Install dependencies | ||
run: | | ||
sudo apt-get update -yq | ||
sudo apt-get install -y --no-install-recommends $BUILD_DEPS | ||
sudo apt-get install -y wget unzip ant maven | ||
- name: Setup gradle | ||
run: | | ||
wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip | ||
(echo "29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -) | ||
unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip | ||
sudo mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle | ||
sudo ln -s /usr/local/gradle/bin/gradle /usr/local/bin | ||
gradle --version | ||
- name: Run spotlessCheck for Java | ||
run: | | ||
cd lib/java | ||
gradle spotlessCheck | ||
- name: Run ktfmtCheck for Kotlin | ||
run: | | ||
cd lib/kotlin | ||
gradle ktfmtCheck | ||
- name: Run bootstrap | ||
run: ./bootstrap.sh | ||
|
||
- name: Run configure | ||
run: | | ||
./configure \ | ||
--disable-debug \ | ||
--disable-tests \ | ||
--disable-dependency-tracking \ | ||
--without-cpp \ | ||
--without-c_glib \ | ||
--with-java \ | ||
--with-kotlin \ | ||
--without-python \ | ||
--without-py3 \ | ||
--without-ruby \ | ||
--without-haxe \ | ||
--without-netstd \ | ||
--without-perl \ | ||
--without-php \ | ||
--without-php_extension \ | ||
--without-dart \ | ||
--without-erlang \ | ||
--without-go \ | ||
--without-d \ | ||
--without-nodejs \ | ||
--without-nodets \ | ||
--without-lua \ | ||
--without-rs \ | ||
--without-swift | ||
- uses: actions/download-artifact@v3 | ||
with: | ||
name: thrift-compiler | ||
path: compiler/cpp | ||
|
||
- name: Run thrift-compiler | ||
run: | | ||
chmod a+x compiler/cpp/thrift | ||
compiler/cpp/thrift -version | ||
- name: Run make for java | ||
run: make -C lib/java | ||
|
||
# this will invoke publishToMavenLocal and install locally | ||
- name: Run make install for java | ||
run: make -C lib/java install | ||
|
||
- name: Upload java libthrift artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: libthrift | ||
if-no-files-found: error | ||
path: ~/.m2/repository/org/apache/thrift | ||
|
||
- name: Run make check for java | ||
run: make -C lib/java check | ||
|
||
- name: Run make precross for java | ||
run: make -C lib/java precross | ||
|
||
- name: Upload java precross artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: java-precross | ||
if-no-files-found: error | ||
path: | | ||
lib/java/build/functionalTestJar/ | ||
lib/java/build/runclient | ||
lib/java/build/runnonblockingserver | ||
lib/java/build/runserver | ||
lib/java/build/runservletserver | ||
retention-days: 3 | ||
|
||
- name: Run make for kotlin | ||
run: make -C lib/kotlin | ||
|
||
- name: Run make check for kotlin | ||
run: make -C lib/kotlin check | ||
|
||
- name: Run make precross for kotlin | ||
run: make -C lib/kotlin precross | ||
|
||
- name: Upload kotlin precross artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: kotlin-precross | ||
if-no-files-found: error | ||
path: | | ||
lib/kotlin/cross-test-client/build/install/TestClient/ | ||
lib/kotlin/cross-test-server/build/install/TestServer/ | ||
retention-days: 3 | ||
|
||
cross-test: | ||
needs: | ||
- lib-java-kotlin | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-python@v3 | ||
with: | ||
python-version: "3.x" | ||
- uses: actions/setup-java@v3 | ||
with: | ||
distribution: temurin | ||
# here we intentionally use java 8 so that we also verify java 11 compiles to version 8 | ||
java-version: 8 | ||
cache: "gradle" | ||
|
||
- name: Download java precross artifacts | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: java-precross | ||
path: lib/java/build | ||
|
||
- name: Download kotlin precross artifacts | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: kotlin-precross | ||
path: lib/kotlin | ||
|
||
- name: Set back executable flags | ||
run: | | ||
chmod a+x \ | ||
lib/java/build/run* \ | ||
lib/kotlin/cross-test-client/build/install/TestClient/bin/* \ | ||
lib/kotlin/cross-test-server/build/install/TestServer/bin/* | ||
- name: Run cross test | ||
env: | ||
THRIFT_CROSSTEST_CONCURRENCY: 4 | ||
PRECROSS_LANGS: java,kotlin | ||
run: | | ||
python test/test.py \ | ||
--retry-count 5 \ | ||
--skip-known-failures \ | ||
--server $PRECROSS_LANGS \ | ||
--client $PRECROSS_LANGS | ||
- name: Upload log files from failed cross test runs | ||
uses: actions/upload-artifact@v3 | ||
if: failure() | ||
with: | ||
name: cross-test-log | ||
path: test/log/ | ||
retention-days: 3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
name: 'Build with CMake' | ||
|
||
on: | ||
push: | ||
branches: [ '*' ] | ||
pull_request: | ||
branches: [ '*' ] | ||
|
||
env: | ||
BUILD_DEPS: bison flex g++ libboost-all-dev libevent-dev libssl-dev make cmake | ||
|
||
jobs: | ||
compiler: | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Install dependencies | ||
run: | | ||
sudo apt-get update -yq | ||
sudo apt-get install -y --no-install-recommends $BUILD_DEPS | ||
- name: Generate makefile using CMake | ||
run: | | ||
mkdir cmake_build | ||
cd cmake_build | ||
cmake .. -DBUILD_LIBRARIES=OFF | ||
- name: Run make | ||
run: | | ||
cd cmake_build | ||
cmake --build . | ||
- name: Run test | ||
run: | | ||
cd cmake_build | ||
ctest -j$(nproc) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.