Skip to content

Introduce jacoco-filter logic. #852

Introduce jacoco-filter logic.

Introduce jacoco-filter logic. #852

Workflow file for this run

#
# Copyright 2021 ABSA Group Limited
#
# Licensed 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: JaCoCo Report
on:
pull_request:
branches: [ master ]
types: [ opened, edited, synchronize, reopened ]
env:
scalaLong: 2.13.11
scalaShort: "2.13"
coverage-overall: 80.0
coverage-changed-files: 80.0
coverage-per-changed-file: 0.0
check-overall-coverages: true
MODULES: |
atum-agent: agent
atum-model: model
atum-reader: reader
atum-server: server
MODULES_THRESHOLDS: |
atum-reader: 74*80*
atum-agent: 67*80*
atum-model: 35*80*
atum-server: 71*80*
jobs:
jacoco-report:
name: JaCoCo Report
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15
env:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: atum_db
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup Scala
uses: olafurpg/setup-scala@v14
with:
java-version: '[email protected]'
- name: Prepare testing database
run: sbt flywayMigrate
- name: Build and run tests with test coverage
continue-on-error: true
id: jacocorun
run: sbt jacoco
- name: Check coverage thresholds and add reports in PR comments
id: jacoco
uses: MoranaApps/jacoco-report@v2
with:
token: '${{ secrets.GITHUB_TOKEN }}'
paths: |
**/target/**/jacoco/report/jacoco.xml
exclude-paths: |
database/target/**
sensitivity: "detail"
comment-mode: 'multi'
min-coverage-overall: ${{ env.coverage-overall }}
min-coverage-changed-files: ${{ env.coverage-changed-files }}
min-coverage-per-changed-file: ${{ env.coverage-per-changed-file }}
skip-unchanged: false
modules: ${{ env.MODULES }}
modules-thresholds: ${{ env.MODULES_THRESHOLDS }}
jacoco-report-server:
name: JaCoCo Report Server
runs-on: ubuntu-latest
services:
postgres:
image: postgres:15
env:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: atum_db
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup Scala
uses: olafurpg/setup-scala@v14
with:
java-version: "[email protected]"
- name: Prepare testing database
run: sbt flywayMigrate
- name: Build and run tests with test coverage
continue-on-error: true
id: jacocorun
run: sbt "project server" jacoco
- name: Check coverage thresholds and add reports in PR comments
id: jacoco
uses: MoranaApps/jacoco-report@v2
with:
token: '${{ secrets.GITHUB_TOKEN }}'
paths: |
**/target/**/jacoco/report/jacoco.xml
exclude-paths: |
database/target/**
sensitivity: "detail"
comment-mode: 'multi'
min-coverage-overall: ${{ env.coverage-overall }}
min-coverage-changed-files: ${{ env.coverage-changed-files }}
min-coverage-per-changed-file: ${{ env.coverage-per-changed-file }}
skip-unchanged: false
modules: ${{ env.MODULES }}
modules-thresholds: ${{ env.MODULES_THRESHOLDS }}