diff --git a/.github/workflows/maven.yaml b/.github/workflows/maven.yaml
new file mode 100644
index 0000000..b7eae85
--- /dev/null
+++ b/.github/workflows/maven.yaml
@@ -0,0 +1,76 @@
+#
+# 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.
+#
+
+# This workflow will build a Java project with Maven
+# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
+
+name: QA
+
+on:
+  push:
+    branches: [ '*' ]
+  pull_request:
+    branches: [ '*' ]
+
+jobs:
+  mvn:
+    strategy:
+      matrix:
+        profile:
+          - {name: 'verify', args: 'verify javadoc:jar site:site'}
+      fail-fast: false
+    timeout-minutes: 60
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v2
+    - name: Set up JDK 11
+      uses: actions/setup-java@v1
+      with:
+        java-version: 11
+    - name: Cache local maven repository
+      uses: actions/cache@v2
+      with:
+        path: |
+          ~/.m2/repository/
+          !~/.m2/repository/org/apache/accumulo
+        key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+        restore-keys: ${{ runner.os }}-m2
+    - name: Build with Maven (${{ matrix.profile.name }})
+      run: mvn -B -V -e -ntp "-Dstyle.color=always" ${{ matrix.profile.args }}
+      env:
+        MAVEN_OPTS: -Djansi.force=true
+    - name: Upload unit test results
+      uses: actions/upload-artifact@v2
+      with:
+        name: surefire-reports-${{ matrix.profile.name }}
+        path: ./**/target/surefire-reports/
+        if-no-files-found: ignore
+    - name: Upload integration test results
+      uses: actions/upload-artifact@v2
+      with:
+        name: failsafe-reports-${{ matrix.profile.name }}
+        path: ./**/target/failsafe-reports/
+        if-no-files-found: ignore
+    - name: Upload mini test logs
+      uses: actions/upload-artifact@v2
+      with:
+        name: mini-tests-logs-${{ matrix.profile.name }}
+        path: ./**/target/**/mini-tests/**/logs/
+        if-no-files-found: ignore
+
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 9dc968a..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,31 +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.
-
-# requiring sudo forces Travis to build in an environment with more RAM
-sudo: required
-language: java
-# speed up builds; don't use cache with default install step
-cache:
-  directories:
-    - $HOME/.m2
-install: echo NOOP Skipping pre-fetch of Maven dependencies
-jdk:
-  - openjdk11
-before_script:
-  - unset _JAVA_OPTIONS
-env:
-  - BUILD_CMD="mvn clean verify javadoc:jar site:site"  # main build of unit tests and javadoc
-script:
-  - $BUILD_CMD -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
diff --git a/README.md b/README.md
index 478f86a..038a684 100644
--- a/README.md
+++ b/README.md
@@ -33,6 +33,5 @@
 [ml]: https://maven-badges.herokuapp.com/maven-central/org.apache.accumulo/accumulo2-maven-plugin/
 [ji]: https://www.javadoc.io/badge/org.apache.accumulo/accumulo2-maven-plugin.svg
 [jl]: https://www.javadoc.io/doc/org.apache.accumulo/accumulo2-maven-plugin
-[ti]: https://travis-ci.org/apache/accumulo-maven-plugin.svg?branch=master
-[tl]: https://travis-ci.org/apache/accumulo-maven-plugin
-
+[ti]: https://github.com/apache/accumulo-maven-plugin/workflows/QA/badge.svg
+[tl]: https://github.com/apache/accumulo-maven-plugin/actions
diff --git a/pom.xml b/pom.xml
index c2ce63c..efc00d5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,7 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.apache</groupId>
@@ -85,8 +85,8 @@
     <url>https://github.com/apache/accumulo-maven-plugin/issues</url>
   </issueManagement>
   <ciManagement>
-    <system>Travis CI</system>
-    <url>https://travis-ci.org/apache/accumulo-maven-plugin</url>
+    <system>GitHub Actions</system>
+    <url>https://github.com/apache/accumulo-maven-plugin/actions</url>
   </ciManagement>
   <properties>
     <accumulo.version>2.1.0-SNAPSHOT</accumulo.version>
