Hi Brooklyners! So you may have noticed a few more emails these past few days coming from Jenkins. I'm happy to announce that I finally managed to make all git submodules build into docker containers on Jenkins, piloted by Jenkins pipelines (Jenkinsfile). And so far, it is incredibly stable! 🎉
We now have multibranch pipelines for: - brooklyn-server: https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-server/ - brooklyn-library: https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-library/ - brooklyn-ui: https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-ui/ - brooklyn-client: https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-client/ - brooklyn-dist: https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn-dist/ - brooklyn: https://builds.apache.org/view/B/view/Brooklyn/job/brooklyn/ Only unstable `master` builds will trigger an email alert to ` dev@brooklyn.apache.org`. Multibranch means that `master` branch of each git repo (as well as all PRs) are built automatically on each commit. In the case of `master` branch, the artifacts are also deployed onto maven central. In the case of PRs, the status is reported back to GitHub and a comment `restest this please` *should* trigger a rebuild (however, I don't think this is necessary anymore as the builds are stable) Each build first create their own docker image, which is then used to build the project inside it. The jenkins pipeline configuration has also been added to git for an easier maintenance (`Jenkinsfile` at the root of each git repo) There are still things I should / would like to do though: *1. Optimise artifact deployments* Currently, artifacts are deployed onto maven central by each build triggered by the `master` branch of each git repo. This is somewhat inefficient so I would propose to deploy artifacts only when the main `brooklyn` project is built. This build is triggered for each commit on `master` branch as well as each successful build of downstream projects. WDYT? *2. Automate website/doc deployment* `brooklyn-docs` is currently not built automatically by Jenkins. But this can be added relatively easily and on top of that, the deployment of the website/doc can also be automated with the new .asfyaml feature [1] *3. Fix integration tests* I created a PR [2] to apply all the changes I talked about above, specifically for the Integration tests. On top of a review, we should also look at fixing the failing tests. *4. Fix windows tests* We have a Jenkins job to build Brooklyn on windows, but a couple of tests fail despite the push from few contributors few months ago. It would be great to iron out the remaining ones. WDYT? [1] https://cwiki.apache.org/confluence/display/INFRA/.asf.yaml+features+for+git+repositories [2] https://github.com/apache/brooklyn-dist/pull/144 -- Thomas Bouron Senior Software Engineer *Cloudsoft <https://cloudsoft.io/> *| Bringing Business to the Cloud GitHub: https://github.com/tbouron Twitter: https://twitter.com/eltibouron