diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index ca7565a75b..d2671f9806 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -179,19 +179,11 @@ jobs: ${{ env.DEFAULT_MAVEN_OPTS }} -Dfrontend.skipTests=${{ steps.changes.outputs.frontend == 'true' && 'false' || 'true' }} run: > - ${{ env.MAVEN_COMMAND }} - jacoco:prepare-agent + ${{ env.MAVEN_COMMAND }} ${{ env.MAVEN_VERIFY_COMMAND }} - ${{ env.MAVEN_BUILD_PROFILES }} - -P report-code-coverage + ${{ env.MAVEN_BUILD_PROFILES }} -P python-unit-tests ${{ env.MAVEN_PROJECTS }} - - name: Codecov - uses: codecov/codecov-action@v4 - if: github.repository_owner == 'apache' - with: - files: ./nifi-code-coverage/target/site/jacoco-aggregate/jacoco.xml - token: ${{ secrets.CODECOV_TOKEN }} - name: Upload Test Reports uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/code-coverage.yml b/.github/workflows/code-coverage.yml new file mode 100644 index 0000000000..d1fe96b7eb --- /dev/null +++ b/.github/workflows/code-coverage.yml @@ -0,0 +1,70 @@ +# 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: code-coverage + +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * *" + pull_request: + paths: + - '.github/workflows/code-coverage.yml' + +env: + DEFAULT_MAVEN_OPTS: >- + -Xms6g + -Xmx6g + -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN + +permissions: + contents: read + +jobs: + build: + timeout-minutes: 120 + runs-on: + - ubuntu-latest + name: Ubuntu Java 21 + steps: + - name: Checkout Code + uses: actions/checkout@v4 + - name: Set up Java 21 + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: 21 + cache: 'maven' + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: '3.10' + - name: Maven Build + env: + MAVEN_OPTS: >- + ${{ env.DEFAULT_MAVEN_OPTS }} + run: > + ./mvnw --fail-fast --no-snapshot-updates --no-transfer-progress --show-version + -D include-python-integration-tests=true + -P integration-tests + -P report-code-coverage + jacoco:prepare-agent + verify + - name: Codecov + uses: codecov/codecov-action@v4 + if: github.repository_owner == 'apache' + with: + files: ./nifi-code-coverage/target/site/jacoco-aggregate/jacoco.xml + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/docker-tests.yml b/.github/workflows/docker-tests.yml index b54ef30a3f..17c39816a0 100644 --- a/.github/workflows/docker-tests.yml +++ b/.github/workflows/docker-tests.yml @@ -16,8 +16,6 @@ name: docker-tests on: - schedule: - - cron: "0 2 * * *" push: paths: - '.github/workflows/docker-tests.yml' diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index e711901459..4c47ade668 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -16,9 +16,6 @@ name: integration-tests on: - # Run every day at 03:00 - schedule: - - cron: "0 3 * * *" push: paths: - '.github/workflows/integration-tests.yml' diff --git a/.github/workflows/system-tests.yml b/.github/workflows/system-tests.yml index db2c337628..815f4b5e69 100644 --- a/.github/workflows/system-tests.yml +++ b/.github/workflows/system-tests.yml @@ -16,9 +16,6 @@ name: system-tests on: - # Run every day at 00:00 - schedule: - - cron: "0 0 * * *" push: paths: - '.github/workflows/system-tests.yml' diff --git a/README.md b/README.md index 63a15ad97c..2d76fac0a2 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ [![system-tests](https://github.com/apache/nifi/workflows/system-tests/badge.svg)](https://github.com/apache/nifi/actions/workflows/system-tests.yml) [![integration-tests](https://github.com/apache/nifi/actions/workflows/integration-tests.yml/badge.svg)](https://github.com/apache/nifi/actions/workflows/integration-tests.yml) [![docker-tests](https://github.com/apache/nifi/actions/workflows/docker-tests.yml/badge.svg)](https://github.com/apache/nifi/actions/workflows/docker-tests.yml) +[![code-coverage](https://github.com/apache/nifi/actions/workflows/code-coverage.yml/badge.svg)](https://github.com/apache/nifi/actions/workflows/code-coverage.yml) [![codecov](https://codecov.io/gh/apache/nifi/branch/main/graph/badge.svg)](https://codecov.io/gh/apache/nifi) [![Docker pulls](https://img.shields.io/docker/pulls/apache/nifi.svg)](https://hub.docker.com/r/apache/nifi/) [![Version](https://img.shields.io/maven-central/v/org.apache.nifi/nifi-utils.svg)](https://nifi.apache.org/download.html)