From 8a0e9773e8eebb5d686cfa3c0ca13dc6942b7017 Mon Sep 17 00:00:00 2001 From: Andrew Ross Date: Fri, 17 Apr 2026 14:57:49 +0200 Subject: [PATCH 1/2] Jenkins hacking Signed-off-by: Andrew Ross --- .ci/jenkins/gradle-check.jenkinsfile | 7 ++----- .github/workflows/gradle-check.yml | 25 ++++++++++++++----------- gradle/bwc-test.gradle | 4 ---- 3 files changed, 16 insertions(+), 20 deletions(-) diff --git a/.ci/jenkins/gradle-check.jenkinsfile b/.ci/jenkins/gradle-check.jenkinsfile index 455aaf2b673b8..b7960c6a7fe07 100644 --- a/.ci/jenkins/gradle-check.jenkinsfile +++ b/.ci/jenkins/gradle-check.jenkinsfile @@ -84,10 +84,7 @@ pipeline { printContributedVariables: false, printPostContent: false ) - parameterizedCron ''' - H */2 * * * %GIT_REFERENCE=main;AGENT_LABEL=Jenkins-Agent-Ubuntu2404-X64-M58xlarge-Single-Host - H 6 * * * %GIT_REFERENCE=2.19;AGENT_LABEL=Jenkins-Agent-Ubuntu2404-X64-M58xlarge-Single-Host - ''' + } environment { BUILD_CAUSE = currentBuild.getBuildCauses() @@ -140,7 +137,7 @@ pipeline { currentBuild.description = """runner: ${agent_name}
Others: ${pr_title}""" } else { - currentBuild.description = """runner: ${agent_name}
PR #${pr_number}: ${pr_title} with bwc.checkout.align=true""" + currentBuild.description = """runner: ${agent_name}
PR #${pr_number}: ${pr_title} with bwc.checkout.align=true command=${GRADLE_CHECK_COMMAND}""" bwc_checkout_align = "true" } diff --git a/.github/workflows/gradle-check.yml b/.github/workflows/gradle-check.yml index c3318a073f488..ff0a33d0a61c0 100644 --- a/.github/workflows/gradle-check.yml +++ b/.github/workflows/gradle-check.yml @@ -1,10 +1,5 @@ name: Gradle Check (Jenkins) on: - push: - branches-ignore: - - 'backport/**' - - 'create-pull-request/**' - - 'dependabot/**' pull_request_target: types: [opened, synchronize, reopened] @@ -55,7 +50,7 @@ jobs: BEDROCK_ACCESS_ROLE: ${{ secrets.BEDROCK_ACCESS_ROLE }} with: skip_diff_reviewer_with_label_name: 'skip-diff-reviewer' - + gradle-check: needs: [check-files, Code-Diff-Analyzer] if: github.repository == 'opensearch-project/OpenSearch' && needs.check-files.outputs.RUN_GRADLE_CHECK == 'true' @@ -65,6 +60,14 @@ jobs: issues: write # To create an issue if check fails on push. runs-on: ubuntu-latest timeout-minutes: 130 + strategy: + fail-fast: false + matrix: + include: + - label: check + gradle_check_command: 'check -Dtests.coverage=true' + - label: bwc + gradle_check_command: 'bwcTestSnapshots -Dbwc.buildUnreleasedFromSource=false' steps: - name: Checkout OpenSearch repo uses: actions/checkout@v6 @@ -121,7 +124,7 @@ jobs: run: | set -e set -o pipefail - bash .ci/jenkins/scripts/gradle-check.sh -t ${{ secrets.JENKINS_GRADLE_CHECK_GENERIC_WEBHOOK_TOKEN }} -u ${{ secrets.JENKINS_GITHUB_USER }} -p ${{ secrets.JENKINS_GITHUB_USER_TOKEN }} | tee -a gradle-check.log + bash .ci/jenkins/scripts/gradle-check.sh -t ${{ secrets.JENKINS_GRADLE_CHECK_GENERIC_WEBHOOK_TOKEN }} -u ${{ secrets.JENKINS_GITHUB_USER }} -p ${{ secrets.JENKINS_GITHUB_USER_TOKEN }} -c "${{ matrix.gradle_check_command }} | tee -a gradle-check.log - name: Setup Result Status if: always() @@ -132,7 +135,7 @@ jobs: echo "result=$RESULT" >> $GITHUB_ENV - name: Upload Coverage Report - if: success() + if: success() && matrix.label == 'check' uses: codecov/codecov-action@v6 with: token: ${{ secrets.CODECOV_TOKEN }} @@ -144,7 +147,7 @@ jobs: with: issue-number: ${{ env.pr_number }} body: | - :white_check_mark: Gradle check result for ${{ env.pr_from_sha }}: [${{ env.result }}](${{ env.workflow_url }}) + :white_check_mark: Build result for **${{ matrix.label }}** (${{ env.pr_from_sha }}): [${{ env.result }}](${{ env.workflow_url }}) - name: Extract Test Failure if: ${{ github.event_name == 'pull_request_target' && env.result != 'SUCCESS' }} @@ -167,7 +170,7 @@ jobs: with: issue-number: ${{ env.pr_number }} body: | - :grey_exclamation: Gradle check result for ${{ env.pr_from_sha }}: [${{ env.result }}](${{ env.workflow_url }}) ${{ env.test_failures }} + :grey_exclamation: Build result for **${{ matrix.label }}** (${{ env.pr_from_sha }}): [${{ env.result }}](${{ env.workflow_url }}) ${{ env.test_failures }} Please review all [flaky tests](https://github.com/opensearch-project/OpenSearch/blob/main/DEVELOPER_GUIDE.md#flaky-tests) that succeeded after retry and create an issue if one does not already exist to track the flaky failure. @@ -177,7 +180,7 @@ jobs: with: issue-number: ${{ env.pr_number }} body: | - :x: Gradle check result for ${{ env.pr_from_sha }}: [${{ env.result }}](${{ env.workflow_url }}) + :x: Build result for **${{ matrix.label }}** (${{ env.pr_from_sha }}): [${{ env.result }}](${{ env.workflow_url }}) Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure [a flaky test](https://github.com/opensearch-project/OpenSearch/blob/main/DEVELOPER_GUIDE.md#flaky-tests) unrelated to your change? diff --git a/gradle/bwc-test.gradle b/gradle/bwc-test.gradle index 94d29872a9c09..dc316806c8a23 100644 --- a/gradle/bwc-test.gradle +++ b/gradle/bwc-test.gradle @@ -35,8 +35,4 @@ tasks.withType(Test).configureEach { onlyIf { project.bwc_tests_enabled } } -tasks.named("check").configure { - dependsOn(bwcTestSnapshots) -} - tasks.findByName("test")?.enabled = false From 3ca2195d84a61c5b048e1f29c7a9be88df1f22e5 Mon Sep 17 00:00:00 2001 From: Andrew Ross Date: Fri, 17 Apr 2026 16:27:27 +0200 Subject: [PATCH 2/2] Testing Signed-off-by: Andrew Ross --- .../test/java/org/opensearch/action/DocWriteResponseTests.java | 1 + 1 file changed, 1 insertion(+) diff --git a/server/src/test/java/org/opensearch/action/DocWriteResponseTests.java b/server/src/test/java/org/opensearch/action/DocWriteResponseTests.java index f432d13b10604..7b2e8bd33dd23 100644 --- a/server/src/test/java/org/opensearch/action/DocWriteResponseTests.java +++ b/server/src/test/java/org/opensearch/action/DocWriteResponseTests.java @@ -61,6 +61,7 @@ public void testGetLocation() { Result.CREATED ) { }; + // Hello assertEquals("/index/" + MapperService.SINGLE_MAPPING_NAME + "/id", response.getLocation(null)); assertEquals("/index/" + MapperService.SINGLE_MAPPING_NAME + "/id?routing=test_routing", response.getLocation("test_routing")); }