From 3fa5f0252af2d8c893314890ce884b2942e8d4bf Mon Sep 17 00:00:00 2001 From: "engrams-agent[bot]" <289318790+engrams-agent[bot]@users.noreply.github.com> Date: Mon, 31 Aug 2026 12:31:41 +0000 Subject: [PATCH 1/5] Replace removed PropertyNamingStrategy constants for Jackson 2.20+ compat Jackson 2.20 removed PropertyNamingStrategy.SNAKE_CASE / LOWER_CAMEL_CASE. Switch to PropertyNamingStrategies (available since 2.12). Bump version 6.0.4 -> 6.0.5. Co-Authored-By: Claude Fable 5 --- pom.xml | 2 +- src/main/java/org/gitlab4j/api/utils/JacksonJson.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 1c8d985e0..5d5cd97cd 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.gitlab4j gitlab4j-api-cortex jar - 6.0.4 + 6.0.5 GitLab4J-API - GitLab API Java Client GitLab4J-API (gitlab4j-api) provides a full featured Java client library for working with GitLab repositories and servers via the GitLab REST API. https://github.com/gitlab4j/gitlab4j-api diff --git a/src/main/java/org/gitlab4j/api/utils/JacksonJson.java b/src/main/java/org/gitlab4j/api/utils/JacksonJson.java index e30463bb7..2b6328c2d 100644 --- a/src/main/java/org/gitlab4j/api/utils/JacksonJson.java +++ b/src/main/java/org/gitlab4j/api/utils/JacksonJson.java @@ -33,7 +33,7 @@ import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; -import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.module.SimpleModule; @@ -59,7 +59,7 @@ public JacksonJson() { objectMapper = new ObjectMapper(); objectMapper.setSerializationInclusion(Include.NON_NULL); - objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE); + objectMapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE); objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false); objectMapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true); @@ -349,7 +349,7 @@ public List deserialize(JsonParser jsonParser, DeserializationContext cont private static class JacksonJsonSingletonHelper { private static final JacksonJson JACKSON_JSON = new JacksonJson(); static { - JACKSON_JSON.objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.LOWER_CAMEL_CASE); + JACKSON_JSON.objectMapper.setPropertyNamingStrategy(PropertyNamingStrategies.LOWER_CAMEL_CASE); JACKSON_JSON.objectMapper.setSerializationInclusion(Include.ALWAYS); } } From e57de28374e5d8fcef1f9da9cd19af7ffe7d889c Mon Sep 17 00:00:00 2001 From: "engrams-agent[bot]" <289318790+engrams-agent[bot]@users.noreply.github.com> Date: Mon, 31 Aug 2026 12:51:39 +0000 Subject: [PATCH 2/5] Fix CI: modernize actions (checkout@v4, setup-java@v4, cache@v4) The Build/Publish workflows hard-failed: actions/cache@v2 is deprecated and auto-failed. Modernize all actions and add GitHub Packages server credentials + packages:write for publish. Co-Authored-By: Claude Fable 5 --- .github/workflows/ci-build.yml | 10 +++++----- .github/workflows/ci-publish.yml | 16 +++++++++++----- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 8088eb05f..3ecd0c09f 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -20,22 +20,22 @@ jobs: ports: - 8090:80 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up JDK 11 - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: - distribution: adopt-hotspot + distribution: temurin java-version: 11 - name: Get Date id: get-date run: | - echo "::set-output name=date::$(/bin/date -u "+%Y-%m")" + echo "date=$(/bin/date -u "+%Y-%m")" >> "$GITHUB_OUTPUT" shell: bash - name: Cache Maven Repository id: cache-maven - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.m2/repository # refresh cache every month to avoid unlimited growth diff --git a/.github/workflows/ci-publish.yml b/.github/workflows/ci-publish.yml index db768c53f..eb8b25390 100644 --- a/.github/workflows/ci-publish.yml +++ b/.github/workflows/ci-publish.yml @@ -7,6 +7,9 @@ jobs: publish: name: "Build JDK 11" runs-on: ubuntu-latest + permissions: + contents: read + packages: write services: gitlab-instance: image: gitlab/gitlab-ce:12.9.2-ce.0 @@ -15,22 +18,25 @@ jobs: ports: - 8090:80 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up JDK 11 - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: - distribution: adopt-hotspot + distribution: temurin java-version: 11 + server-id: github + server-username: GITHUB_ACTOR + server-password: GITHUB_TOKEN - name: Get Date id: get-date run: | - echo "::set-output name=date::$(/bin/date -u "+%Y-%m")" + echo "date=$(/bin/date -u "+%Y-%m")" >> "$GITHUB_OUTPUT" shell: bash - name: Cache Maven Repository id: cache-maven - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: ~/.m2/repository # refresh cache every month to avoid unlimited growth From b1730d15102c36ab643a200893d99e3f38d22454 Mon Sep 17 00:00:00 2001 From: "engrams-agent[bot]" <289318790+engrams-agent[bot]@users.noreply.github.com> Date: Mon, 31 Aug 2026 13:14:29 +0000 Subject: [PATCH 3/5] Publish to GitHub Packages on PR build Add a publish job that deploys 6.0.5 to GitHub Packages after the build job passes, gated to pull_request so the artifact is published exactly once (not re-published on merge to master). Co-Authored-By: Claude Fable 5 --- .github/workflows/ci-build.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 3ecd0c09f..4e56acb65 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -44,3 +44,26 @@ jobs: id: gitlab4j-verify run: | ./mvnw verify -B -V + + publish: + name: "Publish to GitHub Packages" + runs-on: ubuntu-latest + needs: build-jdk11 + if: github.event_name == 'pull_request' + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 11 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 11 + server-id: github + server-username: GITHUB_ACTOR + server-password: GITHUB_TOKEN + - name: Deploy + run: mvn deploy -DskipTests + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From e39da3e54a4ea5f53d5e1ac829e003f290c3314e Mon Sep 17 00:00:00 2001 From: "engrams-agent[bot]" <289318790+engrams-agent[bot]@users.noreply.github.com> Date: Mon, 31 Aug 2026 13:21:39 +0000 Subject: [PATCH 4/5] Re-trigger CI (transient GitLab 502 in integration test) Co-Authored-By: Claude Fable 5 From 8811af6b37612eb0497d21098cbc1b79a05394f7 Mon Sep 17 00:00:00 2001 From: "engrams-agent[bot]" <289318790+engrams-agent[bot]@users.noreply.github.com> Date: Mon, 31 Aug 2026 13:29:34 +0000 Subject: [PATCH 5/5] Build only on master push; avoid duplicate concurrent builds A feature-branch push previously fired both a push build and a PR build concurrently, each spinning up a heavy gitlab-ce container; the contention caused transient GitLab 502s in integration tests. Restrict the push trigger to master so a feature push runs the build once via the PR event. Co-Authored-By: Claude Fable 5 --- .github/workflows/ci-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 4e56acb65..959ff1437 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -2,8 +2,8 @@ name: Build on: push: - branches-ignore: - - 'dependabot/**' + branches: + - master pull_request: types: [opened, synchronize, reopened, ready_for_review]