From 6be975aef2bfc87bdf300731e34d63aeeb4ff6a2 Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 09:11:43 +0200 Subject: [PATCH 01/16] - Added steps and baseline input to introduce PR and master code coverage comparison. --- .github/workflows/check-jacoco.yml | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index 2fc74a2..7d841dd 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -39,6 +39,22 @@ jobs: - name: Build and run tests run: mvn clean verify -Pcode-coverage,scala-${{ matrix.scala }} --no-transfer-progress + - name: Save PR JaCoCo report + run: cp **/target/site/jacoco/jacoco.xml pr-jacoco.xml + + - name: Checkout master branch into separate folder + uses: actions/checkout@v4 + with: + ref: master + path: master-code + + - name: Build and run tests (master branch) + working-directory: master-code + run: mvn clean verify -Pcode-coverage,scala-${{ matrix.scala }} --no-transfer-progress + + - name: Save master JaCoCo report + run: cp master-code/**/target/site/jacoco/jacoco.xml master-jacoco.xml + - uses: actions/setup-python@v5 with: python-version: '3.12' @@ -49,7 +65,9 @@ jobs: with: token: '${{ secrets.GITHUB_TOKEN }}' paths: | - **/target/site/jacoco/jacoco.xml + **/target/site/jacoco/pr-jacoco.xml + baseline-paths: | + **/target/site/jacoco/master-jacoco.xml title: JaCoCo code coverage report - Scala ${{ matrix.scala }} sensitivity: "detail" comment-mode: 'single' From 9e91060ef93ac1b4f64111d372da8e264927491a Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 09:15:44 +0200 Subject: [PATCH 02/16] Debugging of the solution. --- .github/workflows/check-jacoco.yml | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index 7d841dd..e1f19d9 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -39,22 +39,16 @@ jobs: - name: Build and run tests run: mvn clean verify -Pcode-coverage,scala-${{ matrix.scala }} --no-transfer-progress - - name: Save PR JaCoCo report - run: cp **/target/site/jacoco/jacoco.xml pr-jacoco.xml - - name: Checkout master branch into separate folder uses: actions/checkout@v4 with: ref: master - path: master-code + path: master_code - name: Build and run tests (master branch) - working-directory: master-code + working-directory: master_code run: mvn clean verify -Pcode-coverage,scala-${{ matrix.scala }} --no-transfer-progress - - name: Save master JaCoCo report - run: cp master-code/**/target/site/jacoco/jacoco.xml master-jacoco.xml - - uses: actions/setup-python@v5 with: python-version: '3.12' @@ -65,9 +59,11 @@ jobs: with: token: '${{ secrets.GITHUB_TOKEN }}' paths: | - **/target/site/jacoco/pr-jacoco.xml + **/target/site/jacoco/jacoco.xml + exlude-paths: | + master_code/** baseline-paths: | - **/target/site/jacoco/master-jacoco.xml + master_code/**/target/site/jacoco/jacoco.xml title: JaCoCo code coverage report - Scala ${{ matrix.scala }} sensitivity: "detail" comment-mode: 'single' From 4e36f9333705936ca3dfe3ee67edf9ab147f6665 Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 09:20:55 +0200 Subject: [PATCH 03/16] Debugging of the solution. --- .../commons/io/LocalFileSystemUtils.scala | 14 ++++++++++++ .../za/co/absa/commons/io/TempDirectory.scala | 22 +++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/src/main/scala/za/co/absa/commons/io/LocalFileSystemUtils.scala b/src/main/scala/za/co/absa/commons/io/LocalFileSystemUtils.scala index 003f4db..60d873a 100644 --- a/src/main/scala/za/co/absa/commons/io/LocalFileSystemUtils.scala +++ b/src/main/scala/za/co/absa/commons/io/LocalFileSystemUtils.scala @@ -29,6 +29,20 @@ object LocalFileSystemUtils { new File(path).exists() } + /** + * Check if a given files exists on the local file system + */ + def localExists2(path: String): Boolean = { + new File(path).exists() + } + + /** + * Check if a given files exists on the local file system + */ + def localExists3(path: String): Boolean = { + new File(path).exists() + } + /** * Reads a local file fully and returns its content. * diff --git a/src/main/scala/za/co/absa/commons/io/TempDirectory.scala b/src/main/scala/za/co/absa/commons/io/TempDirectory.scala index 48535ec..747f56f 100644 --- a/src/main/scala/za/co/absa/commons/io/TempDirectory.scala +++ b/src/main/scala/za/co/absa/commons/io/TempDirectory.scala @@ -50,6 +50,28 @@ class TempDirectory private(prefix: String, suffix: String, pathOnly: Boolean) { this } + /** + * The directory will be recursively deleted on JVM shutdown. + * + * @return this [[TempDirectory]] instance + */ + def deleteOnExit2(): this.type = synchronized { + Runtime.getRuntime.removeShutdownHook(hook) + Runtime.getRuntime.addShutdownHook(hook) + this + } + + /** + * The directory will be recursively deleted on JVM shutdown. + * + * @return this [[TempDirectory]] instance + */ + def deleteOnExit3(): this.type = synchronized { + Runtime.getRuntime.removeShutdownHook(hook) + Runtime.getRuntime.addShutdownHook(hook) + this + } + /** * Recursively delete directory. */ From 11fb3d6f3c6a1f757dd596d3bd06cda6a0799ae0 Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 09:26:27 +0200 Subject: [PATCH 04/16] Debugging of the solution. --- .github/workflows/check-jacoco.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index e1f19d9..a2c355e 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -62,8 +62,8 @@ jobs: **/target/site/jacoco/jacoco.xml exlude-paths: | master_code/** - baseline-paths: | - master_code/**/target/site/jacoco/jacoco.xml +# baseline-paths: | +# master_code/**/target/site/jacoco/jacoco.xml title: JaCoCo code coverage report - Scala ${{ matrix.scala }} sensitivity: "detail" comment-mode: 'single' From a497afb8eceb086ea2a00091f148e070585f789c Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 09:38:28 +0200 Subject: [PATCH 05/16] Debugging of the solution. --- .github/workflows/check-jacoco.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index a2c355e..4dcbfef 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -55,13 +55,13 @@ jobs: - name: Add JaCoCo Report in PR comments id: jacoco - uses: MoranaApps/jacoco-report@v0.2.1 + uses: MoranaApps/jacoco-report@master with: token: '${{ secrets.GITHUB_TOKEN }}' paths: | **/target/site/jacoco/jacoco.xml - exlude-paths: | - master_code/** + exclude-paths: + **/master_code/** # baseline-paths: | # master_code/**/target/site/jacoco/jacoco.xml title: JaCoCo code coverage report - Scala ${{ matrix.scala }} From 32b19d199625257a5c10495292a1e3e6f86c828e Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 09:40:13 +0200 Subject: [PATCH 06/16] Debugging of the solution. --- .github/workflows/check-jacoco.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index 4dcbfef..ab37ae1 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -60,7 +60,7 @@ jobs: token: '${{ secrets.GITHUB_TOKEN }}' paths: | **/target/site/jacoco/jacoco.xml - exclude-paths: + exclude-paths: | **/master_code/** # baseline-paths: | # master_code/**/target/site/jacoco/jacoco.xml From 18c5cc7e279b2a02a94f02fbafd7a9c98142fadc Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 09:50:37 +0200 Subject: [PATCH 07/16] Debugging of the solution. --- .github/workflows/check-jacoco.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index ab37ae1..06d5475 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -43,10 +43,10 @@ jobs: uses: actions/checkout@v4 with: ref: master - path: master_code + path: ./../master_code - name: Build and run tests (master branch) - working-directory: master_code + working-directory: ./../master_code run: mvn clean verify -Pcode-coverage,scala-${{ matrix.scala }} --no-transfer-progress - uses: actions/setup-python@v5 @@ -60,10 +60,8 @@ jobs: token: '${{ secrets.GITHUB_TOKEN }}' paths: | **/target/site/jacoco/jacoco.xml - exclude-paths: | - **/master_code/** -# baseline-paths: | -# master_code/**/target/site/jacoco/jacoco.xml + baseline-paths: | + ./../master_code/**/target/site/jacoco/jacoco.xml title: JaCoCo code coverage report - Scala ${{ matrix.scala }} sensitivity: "detail" comment-mode: 'single' From 4d285afd95b8ba5d81d8a6275a713590b17dcc32 Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 10:06:20 +0200 Subject: [PATCH 08/16] Debugging of the solution. --- .github/workflows/check-jacoco.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index 06d5475..ce7fa60 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -32,28 +32,30 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 + with: + path: pr_code - name: Setup Scala uses: olafurpg/setup-scala@v10 with: java-version: "adopt@1.8" - name: Build and run tests + working-directory: pr_code run: mvn clean verify -Pcode-coverage,scala-${{ matrix.scala }} --no-transfer-progress - name: Checkout master branch into separate folder uses: actions/checkout@v4 with: ref: master - path: ./../master_code - + path: master_code - name: Build and run tests (master branch) - working-directory: ./../master_code + working-directory: master_code run: mvn clean verify -Pcode-coverage,scala-${{ matrix.scala }} --no-transfer-progress - uses: actions/setup-python@v5 with: python-version: '3.12' - - name: Add JaCoCo Report in PR comments + working-directory: pr_code id: jacoco uses: MoranaApps/jacoco-report@master with: From c917f9c5eeea3e239585bf0a00b62f28fcab1d2d Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 14:29:27 +0200 Subject: [PATCH 09/16] Debugging of the solution. --- .github/workflows/check-jacoco.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index ce7fa60..2b5495d 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -55,15 +55,16 @@ jobs: with: python-version: '3.12' - name: Add JaCoCo Report in PR comments - working-directory: pr_code id: jacoco - uses: MoranaApps/jacoco-report@master + uses: MoranaApps/jacoco-report@feature/3-Introduce-GH-Action-workspace-restriction with: token: '${{ secrets.GITHUB_TOKEN }}' paths: | **/target/site/jacoco/jacoco.xml + exclude-paths: | + master_code/** baseline-paths: | - ./../master_code/**/target/site/jacoco/jacoco.xml + master_code/**/target/site/jacoco/jacoco.xml title: JaCoCo code coverage report - Scala ${{ matrix.scala }} sensitivity: "detail" comment-mode: 'single' From 1e0bf686e352c520f7303caed27c1b90d7841bea Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 14:36:25 +0200 Subject: [PATCH 10/16] Debugging of the solution. --- .github/workflows/check-jacoco.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index 2b5495d..f3295af 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -32,14 +32,11 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 - with: - path: pr_code - name: Setup Scala uses: olafurpg/setup-scala@v10 with: java-version: "adopt@1.8" - name: Build and run tests - working-directory: pr_code run: mvn clean verify -Pcode-coverage,scala-${{ matrix.scala }} --no-transfer-progress - name: Checkout master branch into separate folder From 1e343cad66ab9928b0ceeeb4713b09234e860d87 Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 14:57:07 +0200 Subject: [PATCH 11/16] Debugging of the solution. --- .github/workflows/check-jacoco.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index f3295af..0d977e6 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -39,6 +39,12 @@ jobs: - name: Build and run tests run: mvn clean verify -Pcode-coverage,scala-${{ matrix.scala }} --no-transfer-progress + - name: Upload CSV as workflow artifact + uses: actions/upload-artifact@v4 + with: + name: PR jacoco report xml ${{ matrix.scala }} + path: /**/target/site/jacoco/jacoco.csv + - name: Checkout master branch into separate folder uses: actions/checkout@v4 with: @@ -48,6 +54,12 @@ jobs: working-directory: master_code run: mvn clean verify -Pcode-coverage,scala-${{ matrix.scala }} --no-transfer-progress + - name: Upload CSV as workflow artifact + uses: actions/upload-artifact@v4 + with: + name: Master jacoco report xml ${{ matrix.scala }} + path: master_code/**/target/site/jacoco/jacoco.csv + - uses: actions/setup-python@v5 with: python-version: '3.12' From cfcec970ec4cc58fe66f9829952665aee3a1923f Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 15:00:20 +0200 Subject: [PATCH 12/16] Debugging of the solution. --- .github/workflows/check-jacoco.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index 0d977e6..d13b6c4 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -39,11 +39,11 @@ jobs: - name: Build and run tests run: mvn clean verify -Pcode-coverage,scala-${{ matrix.scala }} --no-transfer-progress - - name: Upload CSV as workflow artifact + - name: Upload Jacoco report as workflow artifact uses: actions/upload-artifact@v4 with: name: PR jacoco report xml ${{ matrix.scala }} - path: /**/target/site/jacoco/jacoco.csv + path: /target/site/jacoco/jacoco.csv - name: Checkout master branch into separate folder uses: actions/checkout@v4 @@ -54,11 +54,11 @@ jobs: working-directory: master_code run: mvn clean verify -Pcode-coverage,scala-${{ matrix.scala }} --no-transfer-progress - - name: Upload CSV as workflow artifact + - name: Upload Jacoco report as workflow artifact uses: actions/upload-artifact@v4 with: name: Master jacoco report xml ${{ matrix.scala }} - path: master_code/**/target/site/jacoco/jacoco.csv + path: master_code/target/site/jacoco/jacoco.csv - uses: actions/setup-python@v5 with: From 6562fbd5da54eac366f566e1977ee6d6477ad231 Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 15:04:44 +0200 Subject: [PATCH 13/16] Debugging of the solution. --- .github/workflows/check-jacoco.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index d13b6c4..eaff1c7 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -43,7 +43,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: PR jacoco report xml ${{ matrix.scala }} - path: /target/site/jacoco/jacoco.csv + path: target/site/jacoco/jacoco.xml - name: Checkout master branch into separate folder uses: actions/checkout@v4 @@ -58,7 +58,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: Master jacoco report xml ${{ matrix.scala }} - path: master_code/target/site/jacoco/jacoco.csv + path: master_code/target/site/jacoco/jacoco.xml - uses: actions/setup-python@v5 with: From dc4934e90fe709635a3655304fd4ab6f067dfdb0 Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 15:12:45 +0200 Subject: [PATCH 14/16] Remove fake changes. --- .../commons/io/LocalFileSystemUtils.scala | 14 ------------ .../za/co/absa/commons/io/TempDirectory.scala | 22 ------------------- 2 files changed, 36 deletions(-) diff --git a/src/main/scala/za/co/absa/commons/io/LocalFileSystemUtils.scala b/src/main/scala/za/co/absa/commons/io/LocalFileSystemUtils.scala index 60d873a..003f4db 100644 --- a/src/main/scala/za/co/absa/commons/io/LocalFileSystemUtils.scala +++ b/src/main/scala/za/co/absa/commons/io/LocalFileSystemUtils.scala @@ -29,20 +29,6 @@ object LocalFileSystemUtils { new File(path).exists() } - /** - * Check if a given files exists on the local file system - */ - def localExists2(path: String): Boolean = { - new File(path).exists() - } - - /** - * Check if a given files exists on the local file system - */ - def localExists3(path: String): Boolean = { - new File(path).exists() - } - /** * Reads a local file fully and returns its content. * diff --git a/src/main/scala/za/co/absa/commons/io/TempDirectory.scala b/src/main/scala/za/co/absa/commons/io/TempDirectory.scala index 747f56f..48535ec 100644 --- a/src/main/scala/za/co/absa/commons/io/TempDirectory.scala +++ b/src/main/scala/za/co/absa/commons/io/TempDirectory.scala @@ -50,28 +50,6 @@ class TempDirectory private(prefix: String, suffix: String, pathOnly: Boolean) { this } - /** - * The directory will be recursively deleted on JVM shutdown. - * - * @return this [[TempDirectory]] instance - */ - def deleteOnExit2(): this.type = synchronized { - Runtime.getRuntime.removeShutdownHook(hook) - Runtime.getRuntime.addShutdownHook(hook) - this - } - - /** - * The directory will be recursively deleted on JVM shutdown. - * - * @return this [[TempDirectory]] instance - */ - def deleteOnExit3(): this.type = synchronized { - Runtime.getRuntime.removeShutdownHook(hook) - Runtime.getRuntime.addShutdownHook(hook) - this - } - /** * Recursively delete directory. */ From c75db03289695a78876d66e9c4266559f0643092 Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Thu, 3 Apr 2025 20:09:14 +0200 Subject: [PATCH 15/16] Use latest gh action version. --- .github/workflows/check-jacoco.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index eaff1c7..abf058b 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -65,7 +65,7 @@ jobs: python-version: '3.12' - name: Add JaCoCo Report in PR comments id: jacoco - uses: MoranaApps/jacoco-report@feature/3-Introduce-GH-Action-workspace-restriction + uses: MoranaApps/jacoco-report@v1.0.0 with: token: '${{ secrets.GITHUB_TOKEN }}' paths: | From e2b616d8f287f92e592c9709a19f8d6fac025529 Mon Sep 17 00:00:00 2001 From: miroslavpojer Date: Mon, 12 May 2025 13:26:52 +0200 Subject: [PATCH 16/16] Use latest gh action version. --- .github/workflows/check-jacoco.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-jacoco.yml b/.github/workflows/check-jacoco.yml index abf058b..ebbb5e3 100644 --- a/.github/workflows/check-jacoco.yml +++ b/.github/workflows/check-jacoco.yml @@ -65,7 +65,7 @@ jobs: python-version: '3.12' - name: Add JaCoCo Report in PR comments id: jacoco - uses: MoranaApps/jacoco-report@v1.0.0 + uses: MoranaApps/jacoco-report@v1.3.0 with: token: '${{ secrets.GITHUB_TOKEN }}' paths: |