From f2729d4e5fbb76a95955b50f75b6b7b053e1f65b Mon Sep 17 00:00:00 2001 From: Hakan Metin <82276624+hakanmtn@users.noreply.github.com> Date: Mon, 24 Aug 2026 23:42:24 +0200 Subject: [PATCH 1/4] Add CI for selected Java modules --- .github/workflows/selected-java-modules.yml | 55 +++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/selected-java-modules.yml diff --git a/.github/workflows/selected-java-modules.yml b/.github/workflows/selected-java-modules.yml new file mode 100644 index 0000000..a27b7c0 --- /dev/null +++ b/.github/workflows/selected-java-modules.yml @@ -0,0 +1,55 @@ +name: Ausgewählte Java-Module + +on: + pull_request: + paths: + - "java-16-collections/**" + - "java-19-optional/**" + - "java-20-exceptions-try-catch-finally/**" + - "java-21-concurrency-multi-thread/**" + - "UnitTest_PropertyBasedTest/**" + - ".github/workflows/selected-java-modules.yml" + push: + branches: + - main + paths: + - "java-16-collections/**" + - "java-19-optional/**" + - "java-20-exceptions-try-catch-finally/**" + - "java-21-concurrency-multi-thread/**" + - "UnitTest_PropertyBasedTest/**" + - ".github/workflows/selected-java-modules.yml" + workflow_dispatch: + +permissions: + contents: read + +jobs: + maven-verify: + name: ${{ matrix.module }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + module: + - java-16-collections + - java-19-optional + - java-20-exceptions-try-catch-finally + - java-21-concurrency-multi-thread + - UnitTest_PropertyBasedTest + + steps: + - name: Repository auschecken + uses: actions/checkout@v7 + + - name: Java 22 einrichten + uses: actions/setup-java@v6 + with: + distribution: temurin + java-version: "22" + cache: maven + cache-dependency-path: ${{ matrix.module }}/pom.xml + + - name: Modul kompilieren und testen + working-directory: ${{ matrix.module }} + run: mvn --batch-mode --no-transfer-progress verify From 2f7bb2707b6aa504781ce45434c46d6854cabc58 Mon Sep 17 00:00:00 2001 From: Hakan Metin <82276624+hakanmtn@users.noreply.github.com> Date: Mon, 24 Aug 2026 23:44:54 +0200 Subject: [PATCH 2/4] Align property-test dependencies --- UnitTest_PropertyBasedTest/pom.xml | 33 +++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/UnitTest_PropertyBasedTest/pom.xml b/UnitTest_PropertyBasedTest/pom.xml index 9a199d7..4b4f3ad 100644 --- a/UnitTest_PropertyBasedTest/pom.xml +++ b/UnitTest_PropertyBasedTest/pom.xml @@ -1,7 +1,7 @@ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 org.hakanmetin @@ -12,18 +12,24 @@ 22 22 UTF-8 + 5.13.1 + 1.9.3 - - org.junit.jupiter - junit-jupiter-api - 5.12.0 + junit-jupiter + ${junit.version} test + + org.junit.vintage + junit-vintage-engine + ${junit.version} + test + com.pholser @@ -31,6 +37,7 @@ 1.0 test + com.pholser junit-quickcheck-generators @@ -38,11 +45,10 @@ test - net.jqwik jqwik - 1.9.2 + ${jqwik.version} test @@ -53,6 +59,13 @@ - - - \ No newline at end of file + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.5.4 + + + + From 06ec01b5df9f30432124f7824aeaf5b216de0fe7 Mon Sep 17 00:00:00 2001 From: Hakan Metin <82276624+hakanmtn@users.noreply.github.com> Date: Mon, 24 Aug 2026 23:46:18 +0200 Subject: [PATCH 3/4] Document automated module checks --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 2186cc1..0f92fdf 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Java-Lernrepository +[![Ausgewählte Java-Module](https://github.com/hakanmtn/Java-2024/actions/workflows/selected-java-modules.yml/badge.svg)](https://github.com/hakanmtn/Java-2024/actions/workflows/selected-java-modules.yml) + Dieses Repository dokumentiert meine praktische Java-Weiterbildung und eigene Übungen – von den Grundlagen der Sprache bis zu Datenbankzugriffen mit JDBC und objektrelationaler Abbildung mit JPA/Hibernate. @@ -46,6 +48,12 @@ objektrelationaler Abbildung mit JPA/Hibernate. - JPA und Hibernate ORM - Git und GitHub +## Automatische Prüfung + +GitHub Actions kompiliert und testet fünf ausgewählte, datenbankfreie Module +mit Java 22. Dazu gehören Collections, Optional, Exceptions, Nebenläufigkeit +sowie die Beispiele für Unit- und Property-based Testing. + ## Verwendung Repository klonen: From d1a3510c35ba15a76bed099b006e0731d982343b Mon Sep 17 00:00:00 2001 From: Hakan Metin <82276624+hakanmtn@users.noreply.github.com> Date: Mon, 24 Aug 2026 23:46:33 +0200 Subject: [PATCH 4/4] Limit selected module build time --- .github/workflows/selected-java-modules.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/selected-java-modules.yml b/.github/workflows/selected-java-modules.yml index a27b7c0..689c264 100644 --- a/.github/workflows/selected-java-modules.yml +++ b/.github/workflows/selected-java-modules.yml @@ -28,6 +28,7 @@ jobs: maven-verify: name: ${{ matrix.module }} runs-on: ubuntu-latest + timeout-minutes: 10 strategy: fail-fast: false matrix: