[MDEPSCAN-4] add github actions.
diff --git a/.github/workflows/maven.yaml b/.github/workflows/maven.yaml
new file mode 100644
index 0000000..ff4e6b5
--- /dev/null
+++ b/.github/workflows/maven.yaml
@@ -0,0 +1,82 @@
+# 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, 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.4
+ 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: Install Toolchain JDK
+ if: ${{ matrix.java == '8' }}
+ uses: AdoptOpenJDK/install-jdk@v1
+ with:
+ version: '11'
+ targets: 'TOOLCHAIN_JDK'
+ impl: 'openj9'
+
+ - name: Set up Toolchain
+ if: ${{ matrix.java == '8' }}
+ shell: bash
+ run: |
+ mkdir -p $HOME/.m2 \
+ && cat << EOF > $HOME/.m2/toolchains.xml
+ <?xml version="1.0" encoding="UTF8"?>
+ <toolchains>
+ <toolchain>
+ <type>jdk</type>
+ <provides>
+ <version>11</version>
+ <vendor>adopt</vendor>
+ </provides>
+ <configuration>
+ <jdkHome>${{ env.TOOLCHAIN_JDK }}</jdkHome>
+ </configuration>
+ </toolchain>
+ </toolchains>
+ EOF
+
+ - name: Set up JDK
+ uses: actions/setup-java@v1
+ with:
+ java-version: ${{ matrix.java }}
+
+ - name: Build with Maven
+ run: mvn verify --errors --batch-mode --version '-Prun-its'
+