You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by gi...@apache.org on 2023/06/21 05:33:03 UTC

[calcite] branch main updated: [CALCITE-5477] Build with Guava 19.0

This is an automated email from the ASF dual-hosted git repository.

gian pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite.git


The following commit(s) were added to refs/heads/main by this push:
     new 8b7284ba39 [CALCITE-5477] Build with Guava 19.0
8b7284ba39 is described below

commit 8b7284ba39c3f2577b3cfa381ebc945157ce18db
Author: Gian Merlino <gi...@gmail.com>
AuthorDate: Sat Feb 18 17:04:29 2023 -0800

    [CALCITE-5477] Build with Guava 19.0
    
    We aim to support Guava down to 16.0.1 (CALCITE-5428), but are foiled
    by the fact that "Preconditions.checkArgument" gained new overloads in
    Guava 20.0. When building against Guava 20.0+, the Java compiler generates
    calls to methods that don't exist in those earlier versions.
    
    To solve this, this patch builds Calcite against Guava 19, the latest
    version that does not include these overloads.
    
    This patch also removes the "errorprone" GitHub Action, leaving only
    "errorprone-guava31". This is for two reasons. First, running errorprone
    on Guava 19 is problematic, since it flags APIs that are @Beta in 19 but
    have stabilized by 31. Second, it doesn't seem necessary to run with two
    different Guava versions. Prior to this patch, both the "errorprone"
    and "errorprone-guava31" actions ran on Guava 31 anyway, because the
    default Guava build version was 31.1-jre.
    
    It is expected that by the next release after August 2023, this patch
    will be reverted (CALCITE-5763). At that point the minimum supported
    Guava version would be Guava 20.
---
 .github/workflows/main.yml | 54 ++++++++++++++++++++++++----------------------
 gradle.properties          |  2 +-
 2 files changed, 29 insertions(+), 27 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 80133fb48e..64bf44d34f 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -142,6 +142,32 @@ jobs:
           remote-build-cache-proxy-enabled: false
           arguments: --scan --no-parallel --no-daemon -Pguava.version=${{ env.GUAVA }} build
 
+  linux-jdk8-latest-guava-tz:
+    if: github.event.action != 'labeled'
+    name: 'Linux (JDK 8), Latest Guava, America/New_York Timezone'
+    runs-on: ubuntu-latest
+    env:
+      TZ: 'America/New_York' # flips between −05:00 and −04:00
+      GUAVA: '31.1-jre' # latest supported Guava version
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          fetch-depth: 50
+      - name: 'Set up JDK 8'
+        uses: actions/setup-java@v2
+        with:
+          java-version: 8
+          distribution: 'zulu'
+      - uses: burrunan/gradle-cache-action@v1
+        name: Test
+        env:
+          S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
+          S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
+        with:
+          job-id: jdk${{ matrix.jdk }}
+          remote-build-cache-proxy-enabled: false
+          arguments: --scan --no-parallel --no-daemon -Pguava.version=${{ env.GUAVA }} build
+
   linux-jdk11-tz:
     if: github.event.action != 'labeled'
     name: 'Linux (JDK 11), Pacific/Chatham Timezone'
@@ -173,7 +199,7 @@ jobs:
     name: 'Linux (JDK 17)'
     runs-on: ubuntu-latest
     env:
-      GUAVA: '31.1-jre'
+      GUAVA: '19.0'
     steps:
       - uses: actions/checkout@v3
         with:
@@ -199,7 +225,7 @@ jobs:
     name: 'Linux (JDK 19)'
     runs-on: ubuntu-latest
     env:
-      GUAVA: '31.1-jre'
+      GUAVA: '19.0'
     steps:
       - uses: actions/checkout@v3
         with:
@@ -298,30 +324,6 @@ jobs:
           echo sqlsh
           ./sqlsh -o headers "select count(*) commits, author from (select substring(author, 1, position(' <' in author)-1) author from git_commits) group by author order by count(*) desc, author limit 20"
 
-  errorprone:
-    if: github.event.action != 'labeled'
-    name: 'Error Prone (JDK 11)'
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v3
-        with:
-          fetch-depth: 50
-      - name: 'Set up JDK 11'
-        uses: actions/setup-java@v2
-        with:
-          java-version: 11
-          distribution: 'zulu'
-      - uses: burrunan/gradle-cache-action@v1
-        name: Test
-        env:
-          S3_BUILD_CACHE_ACCESS_KEY_ID: ${{ secrets.S3_BUILD_CACHE_ACCESS_KEY_ID }}
-          S3_BUILD_CACHE_SECRET_KEY: ${{ secrets.S3_BUILD_CACHE_SECRET_KEY }}
-          GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
-        with:
-          job-id: errprone
-          remote-build-cache-proxy-enabled: false
-          arguments: --scan --no-parallel --no-daemon -PenableErrorprone classes
-
   errorprone-guava31:  # LTS JDK version, don't remove until EOL
     if: github.event.action != 'labeled'
     name: 'Error Prone (JDK 11), Guava 31'
diff --git a/gradle.properties b/gradle.properties
index 8ac1ee5906..a1a7801255 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -108,7 +108,7 @@ foodmart-data-hsqldb.version=0.5
 foodmart-data-json.version=0.4
 foodmart-queries.version=0.4.1
 geode-core.version=1.15.1
-guava.version=31.1-jre
+guava.version=19.0
 h2.version=2.1.210
 hadoop.version=2.7.5
 hamcrest-date.version=2.0.4