Build: Use branch specific refspec sysprop for bwc builds (#29299)
This commit changes the sysprop for overriding the branch bwc builds use to be branch specific. There are 3 different bwc branches built, but all of them currently read the exact same sysprop. For example, with this change and current branches, you can now specify eg `-Dtests.bwc.refspec.6.x=my_6x` and it will build only next-minor-snapshot with that branch, while next-bugfix-snapshot will continue to use 5.6.
This commit is contained in:
parent
04dd738782
commit
a75a7d22b2
|
@ -476,12 +476,12 @@ branch. Finally, on a release branch, it will test against the most recent relea
|
|||
=== BWC Testing against a specific remote/branch
|
||||
|
||||
Sometimes a backward compatibility change spans two versions. A common case is a new functionality
|
||||
that needs a BWC bridge in and an unreleased versioned of a release branch (for example, 5.x).
|
||||
that needs a BWC bridge in an unreleased versioned of a release branch (for example, 5.x).
|
||||
To test the changes, you can instruct Gradle to build the BWC version from a another remote/branch combination instead of
|
||||
pulling the release branch from GitHub. You do so using the `tests.bwc.remote` and `tests.bwc.refspec` system properties:
|
||||
pulling the release branch from GitHub. You do so using the `tests.bwc.remote` and `tests.bwc.refspec.BRANCH` system properties:
|
||||
|
||||
-------------------------------------------------
|
||||
./gradlew check -Dtests.bwc.remote=${remote} -Dtests.bwc.refspec=index_req_bwc_5.x
|
||||
./gradlew check -Dtests.bwc.remote=${remote} -Dtests.bwc.refspec.5.x=index_req_bwc_5.x
|
||||
-------------------------------------------------
|
||||
|
||||
The branch needs to be available on the remote that the BWC makes of the
|
||||
|
@ -496,7 +496,7 @@ will need to:
|
|||
will contain your change.
|
||||
. Create a branch called `index_req_bwc_5.x` off `5.x`. This will contain your bwc layer.
|
||||
. Push both branches to your remote repository.
|
||||
. Run the tests with `./gradlew check -Dtests.bwc.remote=${remote} -Dtests.bwc.refspec=index_req_bwc_5.x`.
|
||||
. Run the tests with `./gradlew check -Dtests.bwc.remote=${remote} -Dtests.bwc.refspec.5.x=index_req_bwc_5.x`.
|
||||
|
||||
== Test coverage analysis
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@ subprojects {
|
|||
|
||||
String buildMetadataKey = "bwc_refspec_${project.path.substring(1)}"
|
||||
task checkoutBwcBranch(type: LoggedExec) {
|
||||
String refspec = System.getProperty("tests.bwc.refspec", buildMetadata.get(buildMetadataKey, "${remote}/${bwcBranch}"))
|
||||
String refspec = System.getProperty("tests.bwc.refspec.${bwcBranch}", buildMetadata.get(buildMetadataKey, "${remote}/${bwcBranch}"))
|
||||
dependsOn fetchLatest
|
||||
workingDir = checkoutDir
|
||||
commandLine = ['git', 'checkout', refspec]
|
||||
|
|
Loading…
Reference in New Issue