You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ah...@apache.org on 2022/05/26 15:55:54 UTC

[commons-numbers] branch master updated: Add GH actions for build and coverage

This is an automated email from the ASF dual-hosted git repository.

aherbert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-numbers.git


The following commit(s) were added to refs/heads/master by this push:
     new 1e8fb469 Add GH actions for build and coverage
1e8fb469 is described below

commit 1e8fb4696e00d4a5cd0bc910fa2c5baed3663707
Author: Alex Herbert <ah...@apache.org>
AuthorDate: Thu May 26 16:55:31 2022 +0100

    Add GH actions for build and coverage
    
    Build targets JDK 8, 11, 17
---
 .github/workflows/coverage.yml | 62 ++++++++++++++++++++++++++++++++++++++++++
 .github/workflows/maven.yml    | 50 ++++++++++++++++++++++++++++++++++
 2 files changed, 112 insertions(+)

diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml
new file mode 100644
index 00000000..19c514b1
--- /dev/null
+++ b/.github/workflows/coverage.yml
@@ -0,0 +1,62 @@
+# 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.
+
+name: Coverage
+
+on: [push, pull_request]
+
+permissions:
+  contents: read
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        java: [ 8 ]
+
+    steps:
+    - uses: actions/checkout@v3
+    - uses: actions/cache@v3
+      with:
+        path: ~/.m2/repository
+        key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+        restore-keys: |
+          ${{ runner.os }}-maven-
+    - name: Set up JDK ${{ matrix.java }}
+      uses: actions/setup-java@v3
+      with:
+        distribution: adopt
+        java-version: ${{ matrix.java }}
+    - name: Build with Maven
+      run: mvn -V test jacoco:report --no-transfer-progress
+
+    - name: Upload coverage to Codecov
+      uses: codecov/codecov-action@v3
+      with:
+        files: >
+          ./commons-numbers-angle/target/site/jacoco/jacoco.xml,
+          ./commons-numbers-arrays/target/site/jacoco/jacoco.xml,
+          ./commons-numbers-combinatorics/target/site/jacoco/jacoco.xml,
+          ./commons-numbers-complex/target/site/jacoco/jacoco.xml,
+          ./commons-numbers-complex-streams/target/site/jacoco/jacoco.xml,
+          ./commons-numbers-core/target/site/jacoco/jacoco.xml,
+          ./commons-numbers-field/target/site/jacoco/jacoco.xml,
+          ./commons-numbers-fraction/target/site/jacoco/jacoco.xml,
+          ./commons-numbers-gamma/target/site/jacoco/jacoco.xml,
+          ./commons-numbers-primes/target/site/jacoco/jacoco.xml,
+          ./commons-numbers-quaternion/target/site/jacoco/jacoco.xml,
+          ./commons-numbers-rootfinder/target/site/jacoco/jacoco.xml
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
new file mode 100644
index 00000000..6b94cd6b
--- /dev/null
+++ b/.github/workflows/maven.yml
@@ -0,0 +1,50 @@
+# 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.
+
+name: Java CI
+
+on: [push, pull_request]
+
+permissions:
+  contents: read
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        java: [ 8, 11, 17 ]
+
+    steps:
+    - uses: actions/checkout@v3
+    - uses: actions/cache@v3
+      with:
+        path: ~/.m2/repository
+        key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+        restore-keys: |
+          ${{ runner.os }}-maven-
+    - name: Set up JDK ${{ matrix.java }}
+      uses: actions/setup-java@v3
+      with:
+        distribution: adopt
+        java-version: ${{ matrix.java }}
+    - name: Build with Maven
+      # Use the default goal
+      run: mvn -V --no-transfer-progress
+    - name: Build examples with Maven
+      # Examples require Java 11+
+      if: contains(matrix.java, '11')
+      run: -P commons-numbers-examples --projects commons-numbers-examples verify apache-rat:check checkstyle:check