Workflow
This page details the three stage testing process at Yonder Deep.
Phase | Purpose | Branch |
---|---|---|
Alpha | local development and testing for one particular issue | varies |
Beta | integration testing for feature complete code | development |
Production | fully functional code that has been thoroughly tested | master |
Stage 1 - Alpha
Alpha testing refers to local develoment by a sub-section of the team for a particular issue. This development is done on its own branch and should be tested with an AUV and Basestation radio connection before being merged with the development branch.
Procedure:
Create a Ticket
-
Navigate to the Issues page and create a New Issue with a relevant title and description.
-
Add your issue to the Github Project board by dragging it from the "Add cards" panel.
Working on a Ticket
-
To start working on a ticket, create a local branch from
main
. Titling of branch names should follow this format:
<Ticket Number>/<Title Abbreviation>
You can get the ticket number from the Github issue page. An example branch name would be:
1/first-ticket
. To create the branch, make sure you are in themain
branch and then usegit checkout -b <BRANCH NAME>
. -
Work on your ticket within your branch, make occasional pulls and merges from main to make sure your code works with the latest changes:
git checkout develop git pull git checkout <YOUR BRANCH> git merge develop
- Add and commit changes when appropriate:
git add <FILE> git commit -m "COMMIT MESSAGE"
Commit messages should be present imperative. Example: "Add support for data transfer" - Push your changes to Github:
git push
If you are pushing your branch to Github for the first time, you will have to do this instead:git push --set-upstream origin <BRANCH NAME>
#### Submitting a Pull Request 1. On Github, go to "Pull requests" and create a new pull request by selecting your branch for the ticket. 2. In the description of the pull request webpage, add:
`Closes #<Issue Number>`
- Make sure you select develop as the branch being merged to.
- After having your PR reviewed, merge with the develop branch.
Stage 2 - Beta
Beta refers to testing conducted on a subset of features that need to be tested with a fully set-up AUV and Basestation. This will most likely consist of a pool test or something of a similar calibar. These tests are to be conducted periodically (dates TBD).
Stage 3 - Production
Production refers to the stable and fully tested code base. This code should only be updated after features on the develop branch thoroughly work as expected.