Merge pull request #271 from bmarwell/github_workflow
(build) GitHub workflow
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
new file mode 100644
index 0000000..cf0c5dd
--- /dev/null
+++ b/.github/workflows/maven.yml
@@ -0,0 +1,57 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+name: Java CI
+
+on: [ push, pull_request ]
+
+jobs:
+ build:
+
+ strategy:
+ matrix:
+ os: [ ubuntu-latest, windows-latest, macOS-latest ]
+ java: [ 8, 11, 15, 16-ea, 17-ea ]
+ fail-fast: false
+
+ runs-on: ${{ matrix.os }}
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Set up cache for ~./m2/repository
+ uses: actions/cache@v2.1.3
+ with:
+ path: ~/.m2/repository
+ key: maven-${{ matrix.os }}-java${{ matrix.java }}-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ maven-${{ matrix.os }}-java${{ matrix.java }}-
+ maven-${{ matrix.os }}-
+
+ - name: Set up JDK
+ uses: actions/setup-java@v1
+ with:
+ java-version: ${{ matrix.java }}
+
+ - name: License Check
+ run: mvn apache-rat:check "-Drat.consoleOutput"
+
+ - name: Build with Maven
+ run: mvn verify --errors --batch-mode --no-transfer-progress -Pdocs
+
+
diff --git a/pom.xml b/pom.xml
index 3c0ea81..9726e98 100644
--- a/pom.xml
+++ b/pom.xml
@@ -110,8 +110,8 @@
<!-- Test 3rd-party dependencies: -->
<easymock.version>4.0.2</easymock.version>
- <gmaven.version>1.8.0</gmaven.version>
- <groovy.version>3.0.3</groovy.version>
+ <gmaven.version>1.12.0</gmaven.version>
+ <groovy.version>3.0.7</groovy.version>
<junit.version>5.6.2</junit.version>
<junit.server.jetty.version>0.11.0</junit.server.jetty.version>
<hibernate.version>5.4.3.Final</hibernate.version>