From 935d72f433beaa4f9c2712d176d99ac556e7d1c7 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 19 Aug 2025 05:23:22 +0000
Subject: [PATCH 1/3] Initial plan
From dcc8d4e17ce7047565603d518c72525a2e4bc0ff Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 19 Aug 2025 05:27:34 +0000
Subject: [PATCH 2/3] Initial analysis: document plan to upgrade to JDK 23 and
add GitHub Actions
Co-authored-by: camjjames <21994153+camjjames@users.noreply.github.com>
---
mvnw | 0
1 file changed, 0 insertions(+), 0 deletions(-)
mode change 100644 => 100755 mvnw
diff --git a/mvnw b/mvnw
old mode 100644
new mode 100755
From bd8a85705f4c4b0fed83e18f9748c97ba1c34be0 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 19 Aug 2025 05:34:30 +0000
Subject: [PATCH 3/3] Upgrade to JDK 23 and add GitHub Actions CI workflow
Co-authored-by: camjjames <21994153+camjjames@users.noreply.github.com>
---
.circleci/config.yml | 2 +-
.github/workflows/ci.yml | 72 ++++++++++++++++++++++++++++++++++++++++
pom.xml | 2 +-
3 files changed, 74 insertions(+), 2 deletions(-)
create mode 100644 .github/workflows/ci.yml
diff --git a/.circleci/config.yml b/.circleci/config.yml
index accc50c..b260e5d 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -3,7 +3,7 @@ version: 2.1
jobs:
build:
docker:
- - image: cimg/openjdk:17.0
+ - image: cimg/openjdk:23.0
steps:
# Checkout the code as the first step.
- checkout
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..607a629
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,72 @@
+name: CI
+
+on:
+ push:
+ branches: [ main ]
+ pull_request:
+ branches: [ main ]
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ java-version: ['17', '21', '23']
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set up JDK ${{ matrix.java-version }}
+ uses: actions/setup-java@v4
+ with:
+ java-version: ${{ matrix.java-version }}
+ distribution: 'temurin'
+
+ - name: Cache Maven packages
+ uses: actions/cache@v4
+ with:
+ path: ~/.m2
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2
+
+ - name: Run tests
+ run: mvn clean test
+
+ - name: Generate test report
+ run: mvn jacoco:report
+
+ - name: Upload coverage to Codecov
+ if: matrix.java-version == '23'
+ uses: codecov/codecov-action@v4
+ with:
+ file: ./target/site/jacoco/jacoco.xml
+ fail_ci_if_error: false
+
+ build:
+ runs-on: ubuntu-latest
+ needs: test
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set up JDK 23
+ uses: actions/setup-java@v4
+ with:
+ java-version: '23'
+ distribution: 'temurin'
+
+ - name: Cache Maven packages
+ uses: actions/cache@v4
+ with:
+ path: ~/.m2
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2
+
+ - name: Build with Maven
+ run: mvn clean compile package -DskipTests
+
+ - name: Upload artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: jar-artifacts
+ path: target/*.jar
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index dc8c057..b49be35 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,7 +51,7 @@
UTF-8
UTF-8
- 17
+ 23
true
true
true