STATUS: Proposal

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.

Milestones

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.

Proposal:

  • 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

POC:  SLING-11387 - Getting issue details... STATUS , SLING-11395 - Getting issue details... STATUS .

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.

Proposal:

  • 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 .

Implementation: SLING-11671 - Getting issue details... STATUS

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

Proposal:

  • 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.

  • No labels