For the record, this is now done.

Robert

On Wed, 2016-09-28 at 22:52 +0000, Stefan Seifert wrote:
> discussed at the Sling Committer Round Table @ adaptTo() 2016
> 
> we all agreed that we need CI build individually per module/bundle,
> not a big build for all bundles at once.
> 
> benefits:
> - much faster feedback in case of a broken build, and much more
> specific
> - if one module is broken only it's own CI build is affected, all
> other are still green
> - CI build for one module is much faster, leading to much shorter
> debugging cycles in case of problems
> - it's much easier to use tools like travis without having to work
> around build time and log output size limitations
> 
> alternatives discussed:
> - we were very unhappy with the apache Jenkins lately, but the reason
> may be that the single full CI build was just too big and fragile
> - travis would be a simple option to use esp. when sling is migrated
> to git and we have one single git repo per module. bertrand pointed
> out there is an official support from ASF to use travis.
> - we could ask infra to support us with our own jenkins instance we
> maintain ourselves. but we do not want to go this way due to its
> maintance efforts unless there is no other way.
> - we decided to stick with the ASF Jenkins for now, and got the way
> to CI builds for each module which robert has already started in
> SLING-6061
> 
> robert currently uses the jenkins job DSL plugin to auto-generate new
> jobs and update existing jobs to the current job definition. the
> source script and job definition template is maintained in svn, as
> soon as this is changed all auto-generated jobs get updated. and
> alternative would be to use the Jenkins pipeline plugin, but
> currently we think creating individual jobs is easier for us to
> understand and maintain.
> 
> some requirements for the ci build ans integration:
> 
> - it would be nice to have a CI build notification within the github
> mirrors of the git modules showing red/green status on each commit
> (which is available e.g. for travis - is it possible with the ASF
> Jenkins as well?)
> 
> - if new branches are created or PRs are submitted a CI build should
> run for them as well, reporting it's status in the github views
> 
> - the CI build should run for the supported JDKs for each module,
> e.g. java7+java8 or java8-only
> 
> - from the git project it the Jenkins CI job should be easy found. if
> a common naming scheme for the Jenkins jobs is used which e.g.
> include the git repo name this should be easy.
> 
> - each CI job has to deploy the current module's snapshot to the
> apache maven snapshot repo, to make it available to other builds.
> 
> 
> stefan
> 
> 
> 

Reply via email to