Last night as I was going through my git stash, when the mail icon on my Macbook started doing its tap dance suggesting the usual mundane result, there was an unread mail. The email was by my friend Jean from Copengo about something that I wanted to write since a long time. I quickly changed into my Star Wars t-shirt (sentimental reasons about the force) and started sabering my way through our internal workflow. For those of you, who are bored of technical jargon (I am one of them), a workflow is that which companies and individuals developing Tryton modules can adopt.
TL;DR; Here is the list of sabers that you will need to take down the Sith Lords (Stack):
- Git - Version Control System
- Git flow - A workflow for git
- Github (Optional, but makes life easier) - Git Hosting Service
- myOpenlabs for Project Management
- Rietveld - For code reviews
- Travis CI for Continuous Integration
- Fabric for deployment
- Newrelic and Sentry to make sure everything is up.
The abridged version of our workflow (The workings of Rebel Alliance)
- Every module is a separate git repository owned by the Openlabs (A part of the Rebel Alliance) on Github.
- Employees (and community contributors) fork the repository and send back pull requests.
- The pull request is sent if the code passes the review, which is like winning against Master Yoda.
- The pull requests are automatically tested by Travis, our own R2-D2, which tells us if the tests are successful.
- If ‘all is well’ then the code gets merged.
- Customer projects are deployed to staging/production servers and open source projects are released to the python package index.
Take a step back and repeat the same action with your light saber.
The workflow in detail
Just as I finished writing this post I realised that it had become way bigger than I had expected. So I have split it into multiple parts for easier reading and posting.