From fb012041e8dd788637e68737199bc313b3e90098 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Sun, 20 Dec 2020 18:48:00 +0000 Subject: [PATCH] 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 --- .github/workflows/test-ant.yml | 55 +++++++++++++++++++++++++++++++ .github/workflows/test-gradle.yml | 37 +++++++++++++++++++++ .github/workflows/test-maven.yml | 34 +++++++++++++++++++ 3 files changed, 126 insertions(+) create mode 100644 .github/workflows/test-ant.yml create mode 100644 .github/workflows/test-gradle.yml create mode 100644 .github/workflows/test-maven.yml diff --git a/.github/workflows/test-ant.yml b/.github/workflows/test-ant.yml new file mode 100644 index 0000000000..7d57e1db40 --- /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 0000000000..7594f29159 --- /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 0000000000..5b6a47a643 --- /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) -- 2.39.5