4th Meeting: GSoC 17 PR Testing Platform (07/06/2017)
By Private Profile 6f5413ab on 2017-06-11 23:11 in GSoC 17 PR testing Platform
Time: 07/06/2017, 15:00 UTC
Note: Last week was not possible to have a meeting due to unavailability from the part of the mentors due to JAB taking place and also from the student so the meeting was posponed to the next week.
Meeting Topics:
-
Robo and bash scripts for swarm
-
Progress with Jenkins
-
Docker-compose environments and proxy
-
Conclusions
Meeting Attended by:
Ashan Fernando, Niels Braczek, Tito Alvarez, Yves Hoppe, Ricardo Fusco
Summary
-
Robo and bash scripts for Swarm
Regarding the swarm init scripts I’ve tried using Robo as the mentors suggested in the last meeting and checked how to use the tasks on the RoboFile using robo commands but was a bit confused about how to use the tasks directly in the classes built for the swarm scripts, the mentors clarified a bit how to do that by showing jorobo github repo. Also talked about the Swarm service discovery capabilities to route inbound requests coming from outside once a container instance is published in swarm. Regarding swarm it was also discussed if Swarm would really be needed for this project and if docker-compose alone would suffice for now.
-
Progress with Jenkins
Regarding Jenkins first tests were successful, I’ve gotten jenkins configured and working, building PRs and commits tunnelling the requests to my machine locally with a tool called Ngrok which can be used to test webhooks and tunnel requests to local machines.
Used the Github PR Builder plugin in order to build incoming pull requests and commits with webhooks. Created a Jenkins job to build a test repo, configured the builds so that a parameter is used, sha1, and it was successfully building incoming PRs/commits and upon a comment on the PR. These builds only pulled the PR code locally to the Jenkins workspace.
-
Docker-compose environments and proxy
Regarding the docker-compose environments and proxy it was discussed the virtualisation project to be used in order to build the docker compose environments and their network using jwilder nginx proxy.
Also patchtester was mentioned as an excellent tool to apply PR patches to already installed joomla instances and that it might bring some value to this project after a “Make it happen” session at JAB originating some difference of opinions.
One new option mentioned was that we could actually use pre-built images for this project, and would not necessarily depend on the virtualisation package because the valid combinations are very limited. These combinations would only include the existing Joomla! CMS repo branches and the supported PHP versions.
The idea here would be to have a set of predefined images each with a Joomla! CMS branch and PHP version combination. For each PR a container would be created from those predefined images with the joomla instance for the respective branch and then the user would just apply the desired patch with patchtester in the generated instance.
-
Conclusions
So the next objective here is to build the scripts to generate the docker compose files given the PHP version and Joomla! CMS branch combination.