It is be useful to be able to optionally run the Starter ITs when building a module that is part of the Sling Starter. This way we catch various errors sooner and we can get this feedback as part of PR checks. The desired end goal is to be able to have a flag which activates to running the Sling ITs when building a module.
The flag can be manually specified when building locally and automatically added when running on Jenkins and the module is part of the Starter ITs.
M1: Proof-of-concept regarding running the Sling ITs in a module build
Goal: ability to easily activate execution of Sling Starter ITs using Maven. Activation should be possible locally with minimal effort, not only on CI.
- allow the feature-launcher-maven-plugin to override bundle versions to be used in the launched feature model
- add a parent pom profile that enables running the Sling Starter ITs with the current version of the bundle
- minimal duplication between Sling Starter and Sling Parent POMs
- TBD : execution of the feature model analysers/check against bnd indexes
M2: Jenkins library updates to run the Sling ITs as separate build
Goal: small number of modules ( <5 ) are manually enrolled in the execution of Sling Starter ITs.
- add a field to the Jenkins module descriptor that defines the Sling Starter ITs versions to run
- update the Sling Jenkins Library to dynamically generate step definitions for running the Sling Starter ITs with the defined Sling Starter IT versions
TBD: which Java version to use for the ITs .
M3: Automatically run Starter ITs for all modules part of the Sling Starter
Goal: allow all modules currently included in the Starter to automatically be enrolled in the tests
- update the Sling Jenkins Library to detect at runtime if the module being built is part of the Sling Starter. If it is, run the Sling Starter ITs with the current snapshot
Note: it will still be possible to run Sling ITs against versions defined in the Jenkins module descriptor.