Skip to content

[REBASEME] Backport infra changes to branch-8.16#80

Merged
tomasz-tylenda-sonarsource merged 3 commits intobranch-8.16from
db/backport-ci-changes-to-8.16
Apr 9, 2026
Merged

[REBASEME] Backport infra changes to branch-8.16#80
tomasz-tylenda-sonarsource merged 3 commits intobranch-8.16from
db/backport-ci-changes-to-8.16

Conversation

@dorian-burihabwa-sonarsource
Copy link
Copy Markdown
Contributor

@dorian-burihabwa-sonarsource dorian-burihabwa-sonarsource commented Apr 8, 2026

This part is meant to backport fixes to the CI that have been done on the master branch and enable the release of java-se for SQCB and SQIDE.

@hashicorp-vault-sonar-prod hashicorp-vault-sonar-prod Bot changed the title Backport infra changes to branch-8.16 JAVASE-194 Backport infra changes to branch-8.16 Apr 8, 2026
@hashicorp-vault-sonar-prod
Copy link
Copy Markdown
Contributor

hashicorp-vault-sonar-prod Bot commented Apr 8, 2026

JAVASE-194

@dorian-burihabwa-sonarsource dorian-burihabwa-sonarsource changed the title JAVASE-194 Backport infra changes to branch-8.16 [REBASEME] Backport infra changes to branch-8.16 Apr 8, 2026
@dorian-burihabwa-sonarsource dorian-burihabwa-sonarsource marked this pull request as ready for review April 8, 2026 15:15
@sonar-review-alpha
Copy link
Copy Markdown

sonar-review-alpha Bot commented Apr 8, 2026

Summary

This PR backports infrastructure changes from master to branch-8.16, primarily implementing a license packaging standard (JAVASE-179) and simplifying CI workflows.

Main changes:

  1. License packaging: Adds LicenseValidator tool and commits all third-party license files for reproducible packaging. The build now validates that generated licenses match tracked files using a Maven plugin.
  2. CI simplification: Removes the custom plugin version resolution script and reduces QA test matrix from 3 to 2 configurations (drops the separate "Prod SonarJava Plugin" test variant).
  3. Dependency updates: Git submodule updates (its/sources), removal of one submodule reference, and mise.toml version changes.
  4. Test resources: Adds guava test case (java-S3824.json).

These changes enable java-se releases for SQCB and SQIDE while cleaning up the build infrastructure on the maintenance branch.

What reviewers should know

Where to focus:

  • Start with java-symbolic-execution/java-symbolic-execution-plugin/pom.xml: the new license-maven-plugin configuration and exec-maven-plugin for validation
  • Check .github/workflows/build.yml: compare the QA matrix changes (removed java_plugin_version parameter and one test variant) and the deleted plugin version resolution step
  • Review the added license files in java-symbolic-execution/java-symbolic-execution-plugin/src/main/resources/licenses/ to verify completeness
  • Examine LicenseValidator.java to understand the build-time validation logic

Key decision points:

  • QA matrix was intentionally simplified: removing the separate "LATEST_MASTER" plugin test variant consolidates CI complexity while keeping the POM_PROPERTY (release) and Latest plugin variants
  • All dependencies' licenses are now committed to the repo, making builds deterministic and packaging reproducible
  • The deleted shell script is no longer needed after QA matrix simplification

Test implications:

  • License validation now runs as part of the Maven verify phase—review that the validator correctly compares temp vs. committed license files
  • Reduced QA test variants mean fewer plugin compatibility checks, but the two remaining variants cover the key scenarios (latest plugin and POM-specified version)

  • Generate Walkthrough
  • Generate Diagram

🗣️ Give feedback

sonar-review-alpha[bot]

This comment was marked as outdated.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's discuss it offline when you have some time.

Comment thread .github/workflows/automated-release.yml Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed offline, I think this may be unnecessary, but I don't see any harm in including it.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we planning to run it on a branch?

@dorian-burihabwa-sonarsource dorian-burihabwa-sonarsource force-pushed the db/backport-ci-changes-to-8.16 branch from 78c475c to 1c55bad Compare April 9, 2026 09:26
@sonarqube-next
Copy link
Copy Markdown

sonarqube-next Bot commented Apr 9, 2026

Copy link
Copy Markdown

@sonar-review-alpha sonar-review-alpha Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! ✅

Clean backport. The license packaging implementation (LicenseValidator.java, the Maven plugin configuration, and committed license files) is well-structured and correct. The CI simplifications — dropping the LATEST_MASTER plugin version test variant, removing the custom version-resolution script, and centralising the mise.toml — are coherent and self-consistent. No bugs found.

🗣️ Give feedback

@tomasz-tylenda-sonarsource tomasz-tylenda-sonarsource merged commit 42ca8d3 into branch-8.16 Apr 9, 2026
8 checks passed
@tomasz-tylenda-sonarsource tomasz-tylenda-sonarsource deleted the db/backport-ci-changes-to-8.16 branch April 9, 2026 10:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants