Add issue templates and GitHub Actions builds
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 0000000..9730b7e
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,32 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: bug
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**Versions (OS, Maven, Java, and others, as appropriate):**
+ - Affected version(s) of this project: [e.g. 1.10.0]
+ - OS: [e.g. CentOS 7.5]
+ - Others:
+
+**To Reproduce**
+Steps to reproduce the behavior (or a link to an example repository that reproduces the problem):
+1. Go to '...'
+2. Click on '....'
+3. Scroll down to '....'
+4. See error
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots to help explain your problem.
+
+**Additional context**
+Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 0000000..11fc491
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,20 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: ''
+labels: enhancement
+assignees: ''
+
+---
+
+**Is your feature request related to a problem? Please describe.**
+A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+
+**Describe the solution you'd like**
+A clear and concise description of what you want to happen.
+
+**Describe alternatives you've considered**
+A clear and concise description of any alternative solutions or features you've considered.
+
+**Additional context**
+Add any other context or screenshots about the feature request here.
diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md
new file mode 100644
index 0000000..72b4a1d
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/question.md
@@ -0,0 +1,12 @@
+---
+name: Question
+about: Ask a question
+title: ''
+labels: question
+assignees: ''
+
+---
+
+**What is your question?**
+Please consider asking your question on our mailing list or in our Slack channel, instead. See https://accumulo.apache.org/contact-us
+
diff --git a/.github/ISSUE_TEMPLATE/test_failure.md b/.github/ISSUE_TEMPLATE/test_failure.md
new file mode 100644
index 0000000..3f9243c
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/test_failure.md
@@ -0,0 +1,30 @@
+---
+name: Test failure
+about: Report a broken or flakey test
+title: 'Broken or Flakey test: [test names]'
+labels: bug, test
+assignees: ''
+
+---
+
+**Test name(s)**
+ - [e.g SomeUnitTest.testCase()]
+ - [e.g SomeIT (all tests)]
+ - [e.g continuous ingest, randomwalk, etc.]
+
+**Describe the failure observed**
+A clear and concise description of what the bug is, including any stack traces, test output, or logs (making any long sections [collapsible](https://gist.github.com/pierrejoubert73/902cc94d79424356a8d20be2b382e1ab#file-markdown-details-collapsible-md) for better readability).
+
+**Testing Environment:**
+ - Version of this project: [e.g. 1.10.0-SNAPSHOT]
+ - First commit known to fail (or current commit):
+ - OS: [e.g. CentOS 7.5]
+ - Java: [e.g. 11]
+ - Maven: [e.g. 3.6.1]
+ - Other environment details:
+
+**What have you tried already?**
+A clear and concise description of any steps you've already taken in an attempt to troubleshoot.
+
+**Additional context**
+Add any other context about the problem or your testing environment here.
diff --git a/.github/workflows/maven-on-demand.yaml b/.github/workflows/maven-on-demand.yaml
new file mode 100644
index 0000000..e9ad591
--- /dev/null
+++ b/.github/workflows/maven-on-demand.yaml
@@ -0,0 +1,67 @@
+#
+# 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: Manual Build
+
+on:
+ workflow_dispatch:
+ inputs:
+ goals:
+ description: Maven goals
+ required: true
+ default: verify
+jobs:
+ mvn:
+ name: mvn (triggered by ${{ github.event.sender.login }})
+ timeout-minutes: 360
+ 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
+ run: mvn -B -V -e -ntp "-Dstyle.color=always" ${{ github.event.inputs.goals }}
+ env:
+ MAVEN_OPTS: -Djansi.force=true
+ - name: Upload unit test results
+ uses: actions/upload-artifact@v2
+ with:
+ name: surefire-reports
+ path: ./**/target/surefire-reports/
+ if-no-files-found: ignore
+ - name: Upload integration test results
+ uses: actions/upload-artifact@v2
+ with:
+ name: failsafe-reports
+ path: ./**/target/failsafe-reports/
+ if-no-files-found: ignore
+
diff --git a/.github/workflows/maven.yaml b/.github/workflows/maven.yaml
new file mode 100644
index 0000000..1074017
--- /dev/null
+++ b/.github/workflows/maven.yaml
@@ -0,0 +1,65 @@
+#
+# 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:
+ 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 (verify javadoc:jar)
+ run: mvn -B -V -e -ntp "-Dstyle.color=always" verify javadoc:jar
+ env:
+ MAVEN_OPTS: -Djansi.force=true
+ - name: Upload unit test results
+ uses: actions/upload-artifact@v2
+ with:
+ name: surefire-reports
+ path: ./**/target/surefire-reports/
+ if-no-files-found: ignore
+ - name: Upload integration test results
+ uses: actions/upload-artifact@v2
+ with:
+ name: failsafe-reports
+ path: ./**/target/failsafe-reports/
+ if-no-files-found: ignore
+