Development Workflow
Issue Creation
- Find or create a github issue you want to work on
- Split the issue up if needed. Anything bigger than 2 weeks is way too big
- It will be beneficial to refine the issue with the team before you pull it to in progress
Development
- Create a new branch that has the issue id at the beginning of its name, e.g.
485-gl-resources-leak
- Create new tests where it applies
- Create or improve existing test maps where it applies
- Create your changes on the branch
- Rebase with master if needed (don't merge master into your branch)
Engine Changes
If you are a push developer you should be able to push your radix changes:
- Change dir to radix: cd external/RadixEngine
- Git add changes
- Commit changes git commit -m "Your commit message"
- Push to whatever branch you want to
When you want GlPortal to use that new Radix version inside the glportal directory just type
git add external/RadixEngine
git commit -m "Update Radix"
git push origin herebethenameofyourbranch
Testing
- Check if all the tests pass
- Create a PR and ask any or all members of technical-officers-engine to review the PR
- Wait for your team mates to sign off on the PR
Quality Control
- Make a code review
- Make sure all the tests pass and that the game does not quit with a segfault or error
- Play the game and check for errors
Finishing
- Merge your branch into master
- Delete your branch
Things to avoid
- Forgeting to reference the issue in the commit
- Working on more than one github issue in one branch at once or do more than what the issue calls for.
- Merging master back into your branch. Use rebase.
- Working on Epics (anything above 2 weeks). Split them up into smaller tasks instead.