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