You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@thrift.apache.org by GitBox <gi...@apache.org> on 2022/04/28 17:40:39 UTC

[GitHub] [thrift] ctubbsii commented on a diff in pull request #2593: THRIFT-5564: setup java and kotlin lib building

ctubbsii commented on code in PR #2593:
URL: https://github.com/apache/thrift/pull/2593#discussion_r861159853


##########
.github/workflows/build.yml:
##########
@@ -45,3 +45,111 @@ jobs:
 
       - 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
+
+  build-java-and-kotlin:
+    needs: build-thrift-compiler-ubuntu
+    strategy:
+      matrix:
+        java: [8, 11]
+        distribution: ['temurin']
+        os: [ubuntu-20.04]
+    runs-on: ${{ matrix.os }}
+    env:
+      GRADLE_VERSION: 6.9.2
+    steps:
+      - uses: actions/checkout@v3
+
+      - uses: actions/setup-java@v3
+        with:
+          distribution: ${{ matrix.distribution }}
+          java-version: ${{ matrix.java }}
+          cache: 'gradle'
+
+      - name: Install dependencies
+        run: |
+          # https://docs.github.com/en/actions/using-github-hosted-runners/customizing-github-hosted-runners

Review Comment:
   This step is going to occur on each job. You could consolidate the installation of dependencies into a script that is called in each job, rather than inline the script, which results in a lot of duplicate apt-get stuff.



##########
.github/workflows/build.yml:
##########
@@ -45,3 +45,111 @@ jobs:
 
       - 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
+
+  build-java-and-kotlin:
+    needs: build-thrift-compiler-ubuntu
+    strategy:
+      matrix:
+        java: [8, 11]
+        distribution: ['temurin']
+        os: [ubuntu-20.04]
+    runs-on: ${{ matrix.os }}
+    env:
+      GRADLE_VERSION: 6.9.2
+    steps:
+      - uses: actions/checkout@v3
+
+      - uses: actions/setup-java@v3
+        with:
+          distribution: ${{ matrix.distribution }}
+          java-version: ${{ matrix.java }}
+          cache: 'gradle'
+
+      - name: Install dependencies
+        run: |
+          # https://docs.github.com/en/actions/using-github-hosted-runners/customizing-github-hosted-runners
+          sudo apt-get update -yq
+          sudo apt-get install -y --no-install-recommends \
+            automake \
+            bison \
+            flex \
+            g++ \
+            git \
+            libboost-all-dev \
+            libevent-dev \
+            libssl-dev \
+            libtool \
+            make \
+            pkg-config \
+            wget \
+            unzip \
+            curl \
+            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 "8b356fd8702d5ffa2e066ed0be45a023a779bba4dd1a68fd11bc2a6bdc981e8f  /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 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: |
+          # we do a touch to make sure it's newer than the makefile
+          touch compiler/cpp/thrift

Review Comment:
   I'm curious why this is necessary.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org