You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by dc...@apache.org on 2021/06/17 16:35:01 UTC

[datasketches-memory] 02/02: Use Github actions matrix build

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

dcromberge pushed a commit to branch support-newer-java-versions
in repository https://gitbox.apache.org/repos/asf/datasketches-memory.git

commit 3e90f64cc71936da926c93478dd95b513e5c3dac
Author: David Cromberge <dc...@apache.org>
AuthorDate: Thu Jun 17 17:33:54 2021 +0100

    Use Github actions matrix build
    
    This allows us to verify that the MR-Jar works across various
    JVMs by running the unit test suite across each Java version.
---
 .github/workflows/.toolchains.xml |  28 +++-----
 .github/workflows/maven.yml       | 137 +++++++++++++++++++++++++-------------
 2 files changed, 99 insertions(+), 66 deletions(-)

diff --git a/.github/workflows/.toolchains.xml b/.github/workflows/.toolchains.xml
index 111252f..5f40493 100644
--- a/.github/workflows/.toolchains.xml
+++ b/.github/workflows/.toolchains.xml
@@ -3,41 +3,31 @@
     <toolchain>
         <type>jdk</type>
         <provides>
-            <version>8</version>
-            <vendor>adoptopenjdk</vendor>
+            <version>1.8</version>
+            <vendor>openjdk</vendor>
         </provides>
         <configuration>
-            <jdkHome>${JAVA_HOME}</jdkHome>
+            <jdkHome>${env.JAVA8_HOME}</jdkHome>
         </configuration>
     </toolchain>
     <toolchain>
         <type>jdk</type>
         <provides>
-            <version>11</version>
-            <vendor>adoptopenjdk</vendor>
-        </provides>
-        <configuration>
-            <jdkHome>${env.JAVA11_HOME}</jdkHome>
-        </configuration>
-    </toolchain>
-    <toolchain>
-        <type>jdk</type>
-        <provides>
-            <version>15</version>
-            <vendor>adoptopenjdk</vendor>
+            <version>8</version>
+            <vendor>openjdk</vendor>
         </provides>
         <configuration>
-            <jdkHome>${env.JAVA15_HOME}</jdkHome>
+            <jdkHome>${env.JAVA8_HOME}</jdkHome>
         </configuration>
     </toolchain>
     <toolchain>
         <type>jdk</type>
         <provides>
-            <version>16</version>
-            <vendor>adoptopenjdk</vendor>
+            <version>11</version>
+            <vendor>openjdk</vendor>
         </provides>
         <configuration>
-            <jdkHome>${env.JAVA16_HOME}</jdkHome>
+            <jdkHome>${env.JAVA11_HOME}</jdkHome>
         </configuration>
     </toolchain>
 </toolchains>
\ No newline at end of file
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index f20252f..955bf0a 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -1,54 +1,97 @@
 name: Java Test Coverage with Maven, Coveralls
 
 on:
-    pull_request:
-    push:
-        branches: [ master ]
-    workflow_dispatch:
+  pull_request:
+  push:
+    branches: [ master ]
+  workflow_dispatch:
 
 env:
-    MAVEN_OPTS: -Xmx4g -Xms1g
-    repo_token: ${{secrets.coveralls_token}}
+  MAVEN_OPTS: -Xmx4g -Xms1g
+  repo_token: ${{secrets.coveralls_token}}
+  RUNNER_TEMP: /tmp
 
 jobs:
-    build:
-        name: Build, Test, Coverage
-        runs-on: ubuntu-latest
-        
-        steps:
-        - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
-          uses: actions/checkout@v2
-          with:
-              persist-credentials: false
-
-        - name: Cache local Maven repository
-          uses: actions/cache@v2
-          with:
-              path: ~/.m2/repository
-              key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
-              restore-keys: build-${{ runner.os }}-maven-
-
-        - name: Install JDK
-          uses: AdoptOpenJDK/install-jdk@v1
-          with:
-              version: '8'
-              architecture: x64
-              impl: hotspot
-              targets: 'JDK_8;JAVA_HOME'
-
-        - name: Install Dependencies
-          run: >
-              mvn clean install -B -V -q
-              -DskipTests=true
-              -Dmaven.javadoc.skip=true
-              -Dgpg.skip=true
-              --toolchains .github/workflows/.toolchains.xml
-
-        - name: Test & Report
-          if: ${{ success() }}
-          run: >
-              mvn verify coveralls:report -B -V -q
-              -Dcoveralls-repo-token=${repo_token}
-              -Dmaven.javadoc.skip=true
-              -Dgpg.skip=true
-              --toolchains .github/workflows/.toolchains.xml
+  build:
+    name: Build, Test, Coverage
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        jdk: [8,9,11]
+
+    env:
+      JDK_VERSION: ${{ matrix.jdk }}
+
+    steps:
+      - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
+        uses: actions/checkout@v2
+        with:
+          persist-credentials: false
+
+      - name: Cache local Maven repository
+        uses: actions/cache@v2
+        with:
+          path: ~/.m2/repository
+          key: build-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+          restore-keys: build-${{ runner.os }}-maven-
+
+      - name: Install JDK 8
+        uses: AdoptOpenJDK/install-jdk@v1
+        with:
+          version: '8'
+          architecture: x64
+          impl: hotspot
+          targets: 'JAVA8_HOME'
+
+      - name: Install JDK 9
+        uses: AdoptOpenJDK/install-jdk@v1
+        with:
+          version: '9'
+          architecture: x64
+          impl: hotspot
+          targets: 'JAVA9_HOME'
+
+      - name: Install JDK 11
+        uses: AdoptOpenJDK/install-jdk@v1
+        with:
+          version: '11'
+          architecture: x64
+          impl: hotspot
+          targets: 'JAVA11_HOME'
+
+      - name: Install Matrix JDK
+        uses: AdoptOpenJDK/install-jdk@v1
+        with:
+          version: ${{ matrix.jdk }}
+          architecture: x64
+          impl: hotspot
+          targets: 'JAVA_HOME'
+
+      - name: Echo Java Version
+        run: >
+          java -version
+
+      - name: Install Dependencies
+        run: >
+          mvn clean install
+          -DskipTests=true
+          -Dmaven.javadoc.skip=true
+          -Dgpg.skip=true
+          --toolchains .github/workflows/.toolchains.xml
+
+      - name: Package
+        run: >
+          mvn package
+          -Dmaven.javadoc.skip=true
+          -Dgpg.skip=true
+          --toolchains .github/workflows/.toolchains.xml
+
+      - name: Test & Report
+        if: ${{ matrix.jdk == 8 && success() }}
+        run: >
+          mvn verify coveralls:report -B -V
+          -Dcoveralls-repo-token=${repo_token}
+          -Dmaven.javadoc.skip=true
+          -Dgpg.skip=true
+          --toolchains .github/workflows/.toolchains.xml
\ No newline at end of file

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org