SUPER-SEPR
Master Build Status:
Development Build Status:
Build System Overview
- We will be working in packs (of 2 or 3 people) on a specific feature at a time
- You make changes to the code and commit these to your local repository
- Once you have completed some working code (not necessarily a completed feautre, could be a small part eg helper method) you push to the Remote Repository
- We will be working using feature branching, so say you were working on the GUI you would push to the branch development-gui
- Once you push the code, it will trigger a Travis CI build which will run any Unit Tests and try compile the project, if these work it will upload the executables to an FTP repository
- If the build fails, you should repeat from step 2 until the build passes (eg fix any bugs in your code!!)
- When you have completed the full feature you/the pack is working on, and the Travis tells you the builds are passing, you should submit a pull request from you branch (eg development-gui) into the development branch
- This will once again trigger a Travis build to check that the two branches can be merged together
- If this passes, and only once this passes, you can confirm the pull request and merge the two branches together
- If this fails, go back to step 2 and fix any issues it highlights
- NOTE: Pull Request builds on the CI servers will not produce/upload any executables
- Once all the features for the Assessment have been successfully merged into the development branch I will bring all these into the master branch
- This will trigger build on both Travis CI and Unity Cloud
- We will submit the executables produced from the Cloud build service
Summary
master
This branch is for code we want to submit, it should be 100% working and builds not passing in this branch at any time are not accpetable. Only to be merged with from Development.
development
This branch is for pulling together all the individual feature branches into one complete branch, builds should always be passing in this branch. Mergeable into from any feature development branches.
Feature Branches
These branches are for implementation of features, you can have failing builds sure. Try to avoid this for long periods of time, especially when it isn't just you developing a feature. Catch issues soon and solve them.