Merge pull request #57 from apache/move_from_travis_to_gha

Move from Travis-ci to GitHub Actions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..48891d7
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,36 @@
+# The default behavior, which overrides 'core.autocrlf', is to use Git's
+# built-in heuristics to determine whether a particular file is text or binary.
+# Text files are automatically normalized to the user's platforms.
+* text=auto
+
+# Explicitly declare text files that should always be normalized and converted
+# to native line endings.
+.asf.yaml text
+.gitattributes text
+.gitignore text
+git.properties text
+.travis.yml text
+LICENSE text
+NOTICE text
+*.html text
+*.java text
+*.md text
+*.properties text
+*.sh text
+*.xml text
+*.yml text
+*.yaml text
+
+# Declare files that will always have CRLF line endings on checkout.
+
+# Explicitly denote all files that are truly binary and should not be modified.
+*.jpg binary
+*.png binary
+*.svg binary
+
+# Declare files that should be ignored when creating an archive of the git repository
+.asf.yaml export-ignore
+.gitattributes export-ignore
+.gitignore export-ignore
+.travis.yml export-ignore
+.github/ export-ignore
diff --git a/.github/workflows/.toolchains.xml b/.github/workflows/.toolchains.xml
new file mode 100644
index 0000000..a7d1161
--- /dev/null
+++ b/.github/workflows/.toolchains.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF8"?>
+<toolchains>
+    <toolchain>
+        <type>jdk</type>
+        <provides>
+            <version>8</version>
+            <vendor>openjdk</vendor>
+        </provides>
+        <configuration>
+            <jdkHome>${JAVA_HOME}</jdkHome>
+        </configuration>
+    </toolchain>
+</toolchains>
\ No newline at end of file
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
new file mode 100644
index 0000000..698d6c6
--- /dev/null
+++ b/.github/workflows/maven.yml
@@ -0,0 +1,53 @@
+name: Java Test Coverage with Maven, Coveralls
+
+on:
+    pull_request:
+    push:
+        branches: [ master ]
+
+env:
+    MAVEN_OPTS: -Xmx4g -Xms1g
+    repo_token: ${{secrets.coveralls_token}}
+
+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
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 2883397..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-# 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.
-
-# http://docs.travis-ci.com/user/customizing-the-build/
-
-language: java
-
-dist: trusty
-
-jdk:
- - openjdk8
-
-install:
- - mvn clean install -q -Dmaven.javadoc.skip=true -Dsource.skip=true -DskipTests=true -Dgpg.skip=true
-
-before_script:
- - _JAVA_OPTIONS="-Xmx4g -Xms1g"
-
-script:
- - mvn clean compile test -q -Dgpg.skip=true
-
-after_success: 
- - mvn clean test jacoco:report coveralls:report -q -DrepoToken=$coveralls_token
-
-notifications:
-  email: false
-
-cache:
-  directories:
-  - .autoconf
-  - $HOME/.m2
diff --git a/pom.xml b/pom.xml
index 54e3c1f..3e20519 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,7 +34,7 @@
   <artifactId>datasketches-hive</artifactId>
   <version>1.2.0-SNAPSHOT</version>
   <packaging>jar</packaging>
-  
+
   <name>${project.artifactId}</name>
   <description>Apache Hive adaptors for the DataSketches library.</description>
   <url>https://datasketches.apache.org/</url>