From 68a9097b73b1c1e4b145ee6aca0bde6b71ac68ba Mon Sep 17 00:00:00 2001 From: Valery Kharseko Date: Thu, 2 Apr 2026 17:00:49 +0300 Subject: [PATCH 1/5] Update build.yml to simplify pull request triggers Removed pull request branch specification from build workflow. --- .github/workflows/build.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b58c0c33..2f36372e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,8 +4,6 @@ on: push: branches: [ 'sustaining/5.4.x','master' ] pull_request: - branches: [ 'sustaining/5.4.x','master' ] - jobs: build-maven: runs-on: ${{ matrix.os }} From ce4ac1920c3429d730f34a3055b6959ecf500a06 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 2 Apr 2026 14:24:01 +0000 Subject: [PATCH 2/5] Initial plan From fb61427805c8d2aed7759a6deb0239b2b8bc347e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 2 Apr 2026 16:53:12 +0000 Subject: [PATCH 3/5] fix: update RouterHandlerTest to use 4-argument buildRouteJson signature Agent-Logs-Url: https://github.com/OpenIdentityPlatform/OpenIG/sessions/6022298b-9652-4845-9dd4-9272b2dc2fc3 Co-authored-by: vharseko <6818498+vharseko@users.noreply.github.com> --- .../openig/handler/router/RouterHandlerTest.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/openig-core/src/test/java/org/forgerock/openig/handler/router/RouterHandlerTest.java b/openig-core/src/test/java/org/forgerock/openig/handler/router/RouterHandlerTest.java index b60f8727..716bb9fc 100644 --- a/openig-core/src/test/java/org/forgerock/openig/handler/router/RouterHandlerTest.java +++ b/openig-core/src/test/java/org/forgerock/openig/handler/router/RouterHandlerTest.java @@ -321,14 +321,14 @@ public void onChanges_deploysRoute_whenOpenApiSpecFileIsAdded() throws Exception when(mockSpecLoader.isOpenApiFile(specFile)).thenReturn(true); when(mockSpecLoader.tryLoad(specFile)).thenReturn(Optional.of(fakeSpec)); - when(mockOpenApiRouteBuilder.buildRouteJson(eq(fakeSpec), eq(specFile), anyBoolean())).thenReturn(routeJson); + when(mockOpenApiRouteBuilder.buildRouteJson(eq(fakeSpec), eq(specFile), anyBoolean(), anyBoolean())).thenReturn(routeJson); when(mockRouteBuilder.build(any(), any(), any())).thenReturn(mockRoute); RouterHandler handler = newHandler(); handler.onChanges(addedChangeSet(specFile)); verify(mockSpecLoader).tryLoad(specFile); - verify(mockOpenApiRouteBuilder).buildRouteJson(fakeSpec, specFile, false); + verify(mockOpenApiRouteBuilder).buildRouteJson(fakeSpec, specFile, false, false); verify(mockRouteBuilder).build(any(), any(), any()); } @@ -355,7 +355,7 @@ public void stop_destroysAllRoutes() throws Exception { when(mockSpecLoader.isOpenApiFile(specFile)).thenReturn(true); when(mockSpecLoader.tryLoad(specFile)).thenReturn(Optional.of(fakeSpec)); - when(mockOpenApiRouteBuilder.buildRouteJson(eq(fakeSpec), eq(specFile), anyBoolean())).thenReturn(routeJson); + when(mockOpenApiRouteBuilder.buildRouteJson(eq(fakeSpec), eq(specFile), anyBoolean(), anyBoolean())).thenReturn(routeJson); when(mockRouteBuilder.build(any(), any(), any())).thenReturn(mockRoute); RouterHandler handler = newHandler(); @@ -380,7 +380,7 @@ public void onChanges_ignoresOpenApiSpecFile_whenEnabledIsFalse() throws Excepti // Neither the loader nor the route builder should have been consulted verify(mockSpecLoader, never()).tryLoad(any()); - verify(mockOpenApiRouteBuilder, never()).buildRouteJson(any(), any(), any(Boolean.class)); + verify(mockOpenApiRouteBuilder, never()).buildRouteJson(any(), any(), any(Boolean.class), any(Boolean.class)); verify(mockRouteBuilder, never()).build(any(), any(), any()); } @@ -396,7 +396,7 @@ public void buildRouteJson_isCalledWithFalse_whenFailOnResponseViolationIsFalse( when(mockSpecLoader.isOpenApiFile(specFile)).thenReturn(true); when(mockSpecLoader.tryLoad(specFile)).thenReturn(Optional.of(fakeSpec)); - when(mockOpenApiRouteBuilder.buildRouteJson(fakeSpec, specFile, false)) + when(mockOpenApiRouteBuilder.buildRouteJson(fakeSpec, specFile, false, false)) .thenReturn(routeJson); when(mockRouteBuilder.build(any(), any(), any())).thenReturn(mockRoute); @@ -404,7 +404,7 @@ public void buildRouteJson_isCalledWithFalse_whenFailOnResponseViolationIsFalse( strictHandler.onChanges(addedChangeSet(specFile)); // Must be called with failOnResponseViolation=false - verify(mockOpenApiRouteBuilder).buildRouteJson(fakeSpec, specFile, false); + verify(mockOpenApiRouteBuilder).buildRouteJson(fakeSpec, specFile, false, false); } @Test @@ -419,14 +419,14 @@ public void buildRouteJson_isCalledWithTrue_whenFailOnResponseViolationIsTrue() when(mockSpecLoader.isOpenApiFile(specFile)).thenReturn(true); when(mockSpecLoader.tryLoad(specFile)).thenReturn(Optional.of(fakeSpec)); - when(mockOpenApiRouteBuilder.buildRouteJson(fakeSpec, specFile, true)) + when(mockOpenApiRouteBuilder.buildRouteJson(fakeSpec, specFile, true, false)) .thenReturn(routeJson); when(mockRouteBuilder.build(any(), any(), any())).thenReturn(mockRoute); strictHandler.onChanges(addedChangeSet(specFile)); // Must be called with failOnResponseViolation=true - verify(mockOpenApiRouteBuilder).buildRouteJson(fakeSpec, specFile, true); + verify(mockOpenApiRouteBuilder).buildRouteJson(fakeSpec, specFile, true, false); } @Test From 8dbcb13c69efd0a19cfa776187cedbe0d27bdf5a Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Thu, 2 Apr 2026 20:13:38 +0300 Subject: [PATCH 4/5] chore: bump GitHub Actions to latest versions (#156) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: vharseko <6818498+vharseko@users.noreply.github.com> --- .github/workflows/build.yml | 18 +++++++++--------- .github/workflows/deploy.yml | 14 +++++++------- .github/workflows/release.yml | 24 ++++++++++++------------ 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2f36372e..33b7db7e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,17 +13,17 @@ jobs: os: [ 'ubuntu-latest', 'macos-latest', 'windows-latest' ] fail-fast: false steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 0 submodules: recursive - name: Java ${{ matrix.Java }} (${{ matrix.os }}) - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.java }} distribution: 'zulu' - name: Cache Maven packages - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }} @@ -33,7 +33,7 @@ jobs: MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10 run: mvn --batch-mode --errors --update-snapshots package --file pom.xml - name: Upload artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: ${{ matrix.os }}-${{ matrix.java }} retention-days: 5 @@ -50,7 +50,7 @@ jobs: - 5000:5000 steps: - name: Download artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: ubuntu-latest-11 - name: Get latest release version @@ -60,7 +60,7 @@ jobs: echo "release_version=$git_version_last" >> $GITHUB_ENV - name: Docker meta id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v6 with: images: | localhost:5000/${{ github.repository }} @@ -68,16 +68,16 @@ jobs: type=raw,value=latest type=raw,value=${{ env.release_version }} - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 with: driver-opts: network=host - name: Prepare Dockerfile shell: bash run: sed -i -E '/^#COPY openig-war\//s/^#//' ./openig-docker/target/Dockerfile - name: Build image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 continue-on-error: true with: context: . diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 3cd5ef5a..d09f6967 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -15,13 +15,13 @@ jobs: env: GITHUB_CONTEXT: ${{ toJSON(github) }} run: echo "$GITHUB_CONTEXT" - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 0 submodules: recursive ref: ${{ github.event.workflow_run.head_branch }} - name: Set up Java for publishing to Maven Central Repository OSS - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ github.event.workflow_run.head_branch == 'sustaining/5.4.x' && '8' || '11'}} distribution: 'temurin' @@ -29,7 +29,7 @@ jobs: server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD - name: Cache Maven packages - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }} @@ -58,12 +58,12 @@ jobs: - name: Build Javadoc run: mvn javadoc:aggregate -pl '!openig-war' -pl '!openig-ui' - name: Upload artifacts OpenIG Server Only Component - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: OpenIG Server path: openig-war/target/*.war - name: Upload artifacts OpenIG Dockerfile - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: OpenIG Dockerfile path: openig-docker/target/Dockerfile* @@ -72,7 +72,7 @@ jobs: git config --global user.name "Open Identity Platform Community" git config --global user.email "open-identity-platform-opendj@googlegroups.com" cd .. - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 continue-on-error: true with: repository: ${{ github.repository }}.wiki @@ -92,7 +92,7 @@ jobs: git commit -a -m "upload docs after deploy ${{ github.sha }}" git push --quiet --force - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 continue-on-error: true with: repository: OpenIdentityPlatform/doc.openidentityplatform.org diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f90ff99f..6037d0e3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,12 +19,12 @@ jobs: env: GITHUB_CONTEXT: ${{ toJSON(github) }} run: echo "$GITHUB_CONTEXT" - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 0 submodules: recursive - name: Set up Java for publishing to Maven Central Repository OSS - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ github.event.workflow_run.head_branch == 'sustaining/5.4.x' && '8' || '11'}} distribution: 'temurin' @@ -32,7 +32,7 @@ jobs: server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD - name: Cache Maven packages - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }} @@ -71,7 +71,7 @@ jobs: target/checkout/openig-war/target/*.war target/checkout/openig-docker/target/Dockerfile* - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 continue-on-error: true with: repository: ${{ github.repository }}.wiki @@ -93,7 +93,7 @@ jobs: git tag -f ${{ github.event.inputs.releaseVersion }} git push --quiet --force git push --quiet --force origin ${{ github.event.inputs.releaseVersion }} - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 continue-on-error: true with: repository: OpenIdentityPlatform/doc.openidentityplatform.org @@ -113,14 +113,14 @@ jobs: needs: - release-maven steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: ref: ${{ github.event.inputs.releaseVersion }} fetch-depth: 1 submodules: recursive - name: Docker meta id: meta - uses: docker/metadata-action@v5 + uses: docker/metadata-action@v6 with: images: | ${{ github.repository }} @@ -129,22 +129,22 @@ jobs: type=raw,value=latest type=raw,value=${{ github.event.inputs.releaseVersion }} - name: Set up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: Login to DockerHub - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Login to GHCR - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v7 continue-on-error: true with: context: ./openig-docker From d11c9d5d6faa4574046cd3fd3a2153678a5482a4 Mon Sep 17 00:00:00 2001 From: Valery Kharseko Date: Thu, 2 Apr 2026 20:14:41 +0300 Subject: [PATCH 5/5] Update build.yml to remove pull request branches Removed pull request branch specification from build workflow. --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b58c0c33..93300327 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,7 +4,6 @@ on: push: branches: [ 'sustaining/5.4.x','master' ] pull_request: - branches: [ 'sustaining/5.4.x','master' ] jobs: build-maven: