From 45d76dad2c4e111c115b38afc6a5e5f2e98026db Mon Sep 17 00:00:00 2001 From: Manolo Carrasco Date: Wed, 20 May 2026 18:22:15 +0200 Subject: [PATCH 1/4] Replace pull_request_target with pull_request in CI workflow Switch from pull_request_target to pull_request. Removes the check-permissions gate (no longer needed since fork PRs do not have access to secrets with pull_request). Test jobs skip entirely for fork PRs. Reviewers must validate fork PRs manually by checking out the branch. --- .github/workflows/validation.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index d4538dc3b..1b418c8c6 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -1,7 +1,7 @@ name: TestBench Validation on: - pull_request_target: + pull_request: branches: - main types: [opened, synchronize, reopened, edited] @@ -23,12 +23,8 @@ env: JAVA_VERSION: 21 jobs: - check-permissions: - uses: ./.github/workflows/check-permissions.yml - format-check: name: Format Check - needs: check-permissions runs-on: ubuntu-latest timeout-minutes: 10 @@ -98,6 +94,7 @@ jobs: unit-tests: name: Unit Tests needs: build + if: ${{ !github.event.pull_request.head.repo.fork }} runs-on: ubuntu-latest timeout-minutes: 15 @@ -141,6 +138,7 @@ jobs: integration-tests: name: Integration Tests (${{ matrix.name }}) needs: build + if: ${{ !github.event.pull_request.head.repo.fork }} runs-on: ubuntu-latest timeout-minutes: 45 concurrency: @@ -273,6 +271,7 @@ jobs: loadtest-converter-tests: name: Load Test Converter Plugin ITs needs: build + if: ${{ !github.event.pull_request.head.repo.fork }} runs-on: ubuntu-latest timeout-minutes: 30 @@ -330,7 +329,7 @@ jobs: issues: read checks: write pull-requests: write - if: always() + if: ${{ always() && !github.event.pull_request.head.repo.fork }} needs: [format-check, build, unit-tests, integration-tests, loadtest-converter-tests] runs-on: ubuntu-latest From c1f5fea3532b0b7149efceff14780e5b6ef5460a Mon Sep 17 00:00:00 2001 From: Manolo Carrasco Date: Wed, 20 May 2026 18:38:36 +0200 Subject: [PATCH 2/4] Trigger CI From 66d3f9a22cdd7c6bfbf17982446c9a83b7b301e2 Mon Sep 17 00:00:00 2001 From: Manolo Carrasco Date: Wed, 20 May 2026 18:56:20 +0200 Subject: [PATCH 3/4] Bump GitHub Actions from v4 to v5 to support Node.js 24 --- .github/workflows/validation.yml | 48 ++++++++++++++++---------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index 1b418c8c6..728d99f42 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -30,18 +30,18 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: ref: ${{ env.HEAD_SHA }} - name: Set up JDK ${{ env.JAVA_VERSION }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ env.JAVA_VERSION }} distribution: "temurin" - name: Cache Maven dependencies - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} @@ -59,23 +59,23 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: ref: ${{ env.HEAD_SHA }} - name: Set up JDK ${{ env.JAVA_VERSION }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ env.JAVA_VERSION }} distribution: "temurin" - name: Set up Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: "20" - name: Cache Maven dependencies - uses: actions/cache@v4 + uses: actions/cache@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ github.run_id }} @@ -100,18 +100,18 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: ref: ${{ env.HEAD_SHA }} - name: Set up JDK ${{ env.JAVA_VERSION }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ env.JAVA_VERSION }} distribution: "temurin" - name: Restore Maven cache - uses: actions/cache/restore@v4 + uses: actions/cache/restore@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ github.run_id }} @@ -128,7 +128,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: unit-test-results path: | @@ -157,24 +157,24 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: ref: ${{ env.HEAD_SHA }} fetch-depth: 0 - name: Set up JDK ${{ env.JAVA_VERSION }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ env.JAVA_VERSION }} distribution: "temurin" - name: Set up Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: "20" - name: Restore Maven cache - uses: actions/cache/restore@v4 + uses: actions/cache/restore@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ github.run_id }} @@ -252,7 +252,7 @@ jobs: - name: Upload error screenshots if: failure() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: error-screenshots-${{ matrix.name }} path: | @@ -261,7 +261,7 @@ jobs: - name: Upload test results if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: integration-test-results-${{ matrix.name }} path: | @@ -277,23 +277,23 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: ref: ${{ env.HEAD_SHA }} - name: Set up JDK ${{ env.JAVA_VERSION }} - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: ${{ env.JAVA_VERSION }} distribution: "temurin" - name: Set up Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: "20" - name: Restore Maven cache - uses: actions/cache/restore@v4 + uses: actions/cache/restore@v5 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}-${{ github.run_id }} @@ -314,7 +314,7 @@ jobs: - name: Upload invoker logs if: always() - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: loadtest-converter-invoker-logs path: | @@ -335,14 +335,14 @@ jobs: steps: - name: Merge test result artifacts - uses: actions/upload-artifact/merge@v4 + uses: actions/upload-artifact/merge@v5 with: name: test-results pattern: '{unit-test-results,integration-test-results-*}' delete-merged: true - name: Download merged test results - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: name: test-results From 25519b004cedc2989f53f3d46993a404e7f0ae73 Mon Sep 17 00:00:00 2001 From: Manolo Carrasco Date: Wed, 20 May 2026 19:06:12 +0200 Subject: [PATCH 4/4] Force Node.js 24 for GitHub Actions --- .github/workflows/validation.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index 728d99f42..ec94987b6 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -15,6 +15,7 @@ concurrency: cancel-in-progress: true env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true HEAD_REF: ${{ github.head_ref }} REF_NAME: ${{ github.ref_name }} BASE_REF: ${{ github.event.pull_request.base.ref }}