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
This commit is contained in:
Dominik Stadler 2020-12-20 18:48:00 +00:00
parent 01dabc0d1b
commit fb012041e8
3 changed files with 126 additions and 0 deletions

55
.github/workflows/test-ant.yml vendored Normal file
View File

@ -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

37
.github/workflows/test-gradle.yml vendored Normal file
View File

@ -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

34
.github/workflows/test-maven.yml vendored Normal file
View File

@ -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)