88 pull_request :
99 workflow_dispatch :
1010 schedule :
11- - cron : " 30 1 * * *" # Run daily at 1:30 AM UTC
11+ - cron : " 30 1 * * *"
1212
1313concurrency :
1414 group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
3333 id : build-step
3434 with :
3535 deploy-pull-request : true
36- artifactory-reader-role : private-reader # Override default public-reader
37- artifactory-deployer-role : qa-deployer # Override default public-deployer
36+ artifactory-reader-role : private-reader
37+ artifactory-deployer-role : qa-deployer
38+ use-develocity : ${{ env.USE_DEVELOCITY }}
39+ develocity-url : ${{ env.DEVELOCITY_URL }}
3840
3941 qa :
4042 needs : [build]
4648 fail-fast : false
4749 matrix :
4850 item :
49- - { name: "with Lastest SonarJava Plugin", profile: "without-sonarqube-project", java_plugin_version: "LATEST_MASTER" }
50- - { name: "for SonarQube Project Only", profile: "only-sonarqube-project", java_plugin_version: "LATEST_MASTER" }
51- - { name: "for Guava Project Only", profile: "only-guava-project", java_plugin_version: "LATEST_MASTER", java_version: "17", sonar-runtime: "LATEST_RELEASE[2025.4]" }
52- - { name: "with Prod SonarJava Plugin", profile: "without-sonarqube-project", java_plugin_version: "POM_PROPERTY" }
51+ - { name: "with Latest SonarJava Plugin", profile: "without-sonarqube-project" }
52+ - { name: "for SonarQube Project Only", profile: "only-sonarqube-project" }
5353 name : " QA Tests ${{ matrix.item.name }}"
5454 env :
5555 BUILD_NUMBER : ${{ needs.build.outputs.build-number }}
6060 submodules : recursive
6161 - uses : jdx/mise-action@d6e32c1796099e0f1f3ac741c220a8b7eae9e5dd # v3.2.0
6262 with :
63- working-directory : its/ruling
6463 version : 2025.7.12
65- - name : Override Java version for specific profiles
66- if : ${{ matrix.item.java_version }}
67- run : |
68- # We must 'cd' into the target directory because mise 'use' commands are
69- # scoped to the current working directory. Changing directories ensures
70- # the java version is pinned specifically for the 'its/ruling' path
71- # by creating/updating a local .mise.toml file there.
72- cd its/ruling
73- mise use java@${{ matrix.item.java_version }}
7464 - name : Get GitHub Token for QA Licenses
7565 id : secrets
7666 uses : SonarSource/vault-action-wrapper@v3
@@ -81,36 +71,28 @@ jobs:
8171 id : configure-maven
8272 uses : SonarSource/ci-github-actions/config-maven@v1
8373 with :
84- artifactory-reader-role : private-reader # Override default public-reader
85- - name : Get Sonar Java plugin version
86- id : resolve-sonar-java-plugin-version
87- run : |
88- VERSION=$(.github/scripts/resolve-sonar-java-plugin-version.sh "${{ matrix.item.java_plugin_version }}")
89- echo "version=${VERSION}" >> $GITHUB_OUTPUT
74+ artifactory-reader-role : private-reader
75+ use-develocity : ${{ env.USE_DEVELOCITY }}
76+ develocity-url : ${{ env.DEVELOCITY_URL }}
9077 - name : Run QA Tests
9178 working-directory : its/ruling
9279 env :
9380 GITHUB_TOKEN : ${{ fromJSON(steps.secrets.outputs.vault).GITHUB_TOKEN }}
9481 BUILD_NUMBER : ${{ needs.build.outputs.build-number }}
9582 MAVEN_OPTS : " -Xmx3g"
96- SONAR_JAVA_VERSION : ${{ steps.resolve-sonar-java-plugin-version.outputs.version }}
97- SONAR_RUNTIME : ${{ matrix.item.sonar-runtime || 'LATEST_RELEASE' }}
9883 run : |
9984 mvn package --batch-mode \
10085 "-Pit-ruling,${{ matrix.item.profile }}" \
101- "-Dsonar.java.version=${SONAR_JAVA_VERSION}" \
102- "-Dorchestrator.artifactory.accessToken=${ARTIFACTORY_ACCESS_TOKEN}" \
103- "-Dsonar.runtimeVersion=${{ env.SONAR_RUNTIME }}" \
86+ "-Dsonar.runtimeVersion=LATEST_RELEASE" \
10487 "-Dmaven.test.redirectTestOutputToFile=false" \
105- "-DbuildNumber=${BUILD_NUMBER}" \
10688 -B -e -V \
10789 "-Dparallel=methods" \
10890 "-DuseUnlimitedThreads=true"
10991 - name : Upload ruling artifacts on failure
11092 if : failure()
11193 uses : actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.5.0
11294 with :
113- name : ruling-actual-${{ matrix.item.profile }}-${{ matrix.item.java_plugin_version }}
95+ name : ruling-actual-${{ matrix.item.profile }}
11496 path : its/ruling/target/actual/**/*
11597
11698 promote :
0 commit comments