Add initial Github Actions to build PRs with all three build-systems

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1884654 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/.github/workflows/test-ant.yml b/.github/workflows/test-ant.yml
new file mode 100644
index 0000000..7d57e1d
--- /dev/null
+++ b/.github/workflows/test-ant.yml
@@ -0,0 +1,55 @@
+
+# This workflow will build a Java project with Ant
+# For more information see: https://docs.github.com/en/free-pro-team@latest/actions/guides/building-and-testing-java-with-ant
+
+name: Java CI with Ant
+
+on:
+  push:
+    branches: [ trunk ]
+  pull_request:
+    branches: [ trunk ]
+        
+jobs:
+  build:
+    runs-on: ${{ matrix.os }}
+
+    strategy:
+      fail-fast: false
+      matrix:
+        os: [ubuntu-latest]
+        # for now verify JDK 8 and 11
+        java: [ 8, 11.0.x ]
+
+    name: Java ${{ matrix.java }} build
+    steps:
+    - uses: actions/checkout@v2
+
+    - name: Setup java ${{ matrix.java }}
+      uses: actions/setup-java@v1
+      with:
+        java-version: ${{ matrix.java }}
+
+    - name: Set up Ant
+      id: setup-ant
+      run: |
+        wget https://www.apache.org/dist/ant/binaries/apache-ant-1.10.9-bin.tar.gz
+        tar -xzvf apache-ant-1.10.9-bin.tar.gz
+        export PATH=`pwd`/apache-ant-1.10.9/bin:$PATH
+        echo $(ant -version)
+
+    - name: Cache downloaded third-party libraries
+      uses: actions/cache@v2.1.3
+      with:
+        # A list of files, directories, and wildcard patterns to cache and restore
+        path: lib
+        # An explicit key for restoring and saving the cache
+        key: poi-third-party-libs
+
+    - name: Fetch site via SVN
+      id: setup-doc-site
+      run: |
+        svn co https://svn.apache.org/repos/asf/poi/site/src/documentation src/documentation
+
+    - name: Build with Ant
+      run: ant clean jenkins
diff --git a/.github/workflows/test-gradle.yml b/.github/workflows/test-gradle.yml
new file mode 100644
index 0000000..7594f29
--- /dev/null
+++ b/.github/workflows/test-gradle.yml
@@ -0,0 +1,37 @@
+# This workflow will build a Java project with Gradle
+# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
+
+name: Java CI with Gradle
+
+on:
+  push:
+    branches: [ trunk ]
+  pull_request:
+    branches: [ trunk ]
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+
+    steps:
+    - uses: actions/checkout@v2
+
+    - name: Set up JDK 1.8
+      uses: actions/setup-java@v1
+      with:
+        java-version: 1.8
+
+    - name: Cache
+      uses: actions/cache@v2.1.3
+      with:
+        # A list of files, directories, and wildcard patterns to cache and restore
+        path: lib
+        # An explicit key for restoring and saving the cache
+        key: poi-third-party-libs
+
+    - name: Grant execute permission for gradlew
+      run: chmod +x gradlew
+
+    - name: Build with Gradle
+      run: ./gradlew check
diff --git a/.github/workflows/test-maven.yml b/.github/workflows/test-maven.yml
new file mode 100644
index 0000000..5b6a47a
--- /dev/null
+++ b/.github/workflows/test-maven.yml
@@ -0,0 +1,34 @@
+# 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: Java CI with Maven
+
+on:
+  push:
+    branches: [ trunk ]
+  pull_request:
+    branches: [ trunk ]
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+
+    steps:
+    - uses: actions/checkout@v2
+
+    - name: Set up JDK 1.8
+      uses: actions/setup-java@v1
+      with:
+        java-version: 1.8
+
+    - name: Cache
+      uses: actions/cache@v2.1.3
+      with:
+        # A list of files, directories, and wildcard patterns to cache and restore
+        path: lib
+        # An explicit key for restoring and saving the cache
+        key: poi-third-party-libs
+
+    - name: Build with Maven
+      run: (cd sonar && mvn -B validate package --file pom.xml)