Serenity - northern-bites/nbites GitHub Wiki

Serenity is the team's Continuous Integration Framework. It automates several tools that we use when building and testing code so that developers can be confident that Pull Requests have code that works.

Serenity runs on the Dell tower in the lab and continuously monitors GitHub for new Pull Requests. When it finds a new one, i.e. one that doesn't have anything other than a pending status on it, Serenity will run several scripts to test the Pull Request. It only tests the commit at the Head of the Pull request and will post a success or failure on that commit only. The GitHub API only allows statuses to be posted to commits and the Head is the only commit we care about.

If Serenity ever stops running, you can start it with ./pre-load.sh which will start the serenity.py script. The purpose of the pre-load script is to keep Serenity running if serenity.py ever crashes.

Thus, if you just ^C the terminal where Serenity is running, pre-load will start it again. In order to kill it, you have to kill -9 the process that is running the pre-load script. You can find out which process this is by doing

^z
ps   #This will give you the processes running in the current terminal
kill -9 <PID of pre-load>
kill -9 <PID of serenity>