Portal:Toolforge/Ongoing Efforts/Toolforge Build Service/Overview
Toolforge Build Service Project
This project is currently developing its beta stage. The goal for this stage is to develop a beta version of Toolforge Build Service that allows users to build an image (using a buildpack) from the CLI and deploy it on Toolforge so they can see the website running the new code.
The project is currently being led by the Wikimedia Cloud Services team and welcomes technical contributors!
The team is working in two-week iterations, with pre-selected tasks that are estimated depending on the complexity, effort, and time they might take. Iterations can be tracked on the Toolforge Build Service Phabricator board.
Current iteration: Iteration 09.
- The project enables the deprecation of GridEngine.
- There is a positive uptake by the technical contributors, which means any/all of below:
- It is utilized as a recommended path for new projects.
- Users use it
- It’s perceived as an option for newcomers that is easier than the existing system.
- Finalize build CLI.
- Set up harbor.
- Complete security testing.
- Automate the periodic creation of harbor namespaces.
- Allow web services to deploy images from harbor.
- Create documentation for users.
- Open the beta for the users.
- Gather feedback from the users from the beta version.
Beta user stories
These user stories come from a working document that was also open for technical contributors to comment and review on. The document is read-only now, as all its information has been moved to Phabricator tasks.
Note that some user stories have been implemented already, and related tasks that had a 'resolved' status before the definition of the user stories are not shown here. Current tasks related to user stories and future ones will be added here or in the next phase of the project. User stories are being resolved in parallel and are not necessarily linear. The following is a summary of the user stories that can be tracked on Phabricator:
- User story 1: I'm able to use the service using its documentation
- User story 2: Feature: I can start a new build from a git url
- User story 3: I want to cancel the build using the toolforge build cancel feature
- User story 4: I want to check the status of the last build using the toolforge build show feature
- User story 5: I want to check the status of a given build using the toolforge build show feature.
- User story 6: I want to start a webservice with the image I built earlier.
- User story 7: I want to list all the tool builds.
- User story 8: I want to delete builds.
- User story 9: I want to know when the service is down
- User story 10: I want to know how to manage the service
- User story 11: I want to know how to debug the service
- User story 12: I want to easily run the tests for each of the codebases
- User story 13: I want to avoid getting bugs inadvertently into the codebases
- User story 14: I want have some certainty that the service is secure
How to read user stories
User stories help facilitate expectations and communication within the team and to the users. Each user story for Toolforge Build Service is accompanied by a "When do we know it's done?" section that helps list the different scenarios that have to be taken into account in order to elaborate the consequent subtasks the team will be working on to accomplish them.
Planning for future steps on this project will be defined upon the completion of the previous milestones.
A working document with some thoughts on new user stories can be found here
Communication and support
Support and administration of the WMCS resources is provided by the Wikimedia Foundation Cloud Services team and Wikimedia Movement volunteers. Please reach out with questions and join the conversation: