- Open the
agile-tutorial
Slack channel. - Note how every synchronisation generates a message from GitHub bot.
- Note how every automated build generates a message from Travis CI bot.
- Note how every issue closed or created generates a message from GitHub bot.
- Note how every modification of an issue's details generates a message from ZenHub bot.
In this section we will go over the practical steps that were broadly described in Having SCRUM meetings. We will assume, for the sake of this exercise, that each sprint lasts 30 minutes.
- Open the ZenHub board or web application.
- Discuss with the SCRUM master which issues should be addressed during this sprint.
- Once identified, move these issues to the Sprint Backlog.
- Assign these issues to the appropriate sprint using Set milestone.
- Discuss among the Development team who should address each issue.
- Once you identified your issue, click on it to open the detailed description.
- Assign it to yourself using the menu on the right.
- Read the issue description and use the Labels menu to mark it as
question
if you need further information. - Discuss your questions with the SCRUM master and make sure there is no blocking issue preventing you.
- When you are ready to start contributing, move your assigned issue to In Progress.
In this section we will go over the practical steps that were broadly described in Using the "GitHub Flow" branching model.
- Open the
agile-tutorial
repository in Visual Studio Code. - Click the 🔄 icon in the bottom left corner to synchronise your local repository with GitHub.
- Click the
external
button in the bottom left corner and select Create new branch. - Choose a descriptive name for your branch that resembles the issue that it addresses.
- Example:
basic_input-3
is a very good name for issue #3 (Create/basic/input
resource).
- Example:
- Perform all the code changes described in your issue.
- Open the Source Control panel in the top left bar.
- Click the
+
icon next to all the modified files to Stage Changes. - Write a meaningful commit message that explains the changes introduced by this commit.
- Click the ✔️ icon in the top left to commit your changes to your local repository.
- Click the 🔄 icon in the bottom left to synchronise your local repository with GitHub.
- After your commits have been synchronised, open the
neumannrf/agile-tutorial
repository. - Select your branch from the drop-down menu on the left and then click New pull request.
- Write a meaningful title for the Pull Request, preferably one that refers to the issue that it addresses.
- Describe the changes introduced by the Pull Request in the Summary section.
- Revise the Checklist, marking actions as "done" by using
[x]
. - Add the number
#N
of the Related Issue that is closed by this Pull Request. - In case there is any information that would help the reviewer, add it to Notes to Reviewer.
- Select the SCRUM master as reviewer from the Reviewers menu on the right.
- Assign yourself from the Assignees menu on the right.
- Select the appropriate labels from the Labels menu on the right.
- Click the Connect with an issue button and enter the related issue number.
- Submit the Pull Request using the Create pull request button.
- Once submitted, open your Pull Request from the open PR list.
- Scroll to the bottom and look for the status checks.
- Click Show all checks and click Detail to see the Travis CI build log.
- In the Travis CI build log, make sure
- all files are compliant with
flake8
linter - all tests in
test/*_test.py
have PASSED - all files in
src/*.py
have 100% test coverage.
- all files are compliant with
- If the build failed for any reason, go back to Visual Studio Code, perform the required changes, commit and synchronise your work.
- Re-do the status checks by monitoring the new Travis CI build of you PR.
- Once submitted, find your Pull Request in the open PR list.
- Scroll to the bottom and look for the mergeability check.
- If This branch has no conflicts with the base branch, you are good to go.
- If This branch is out-of-date with the base branch, merge the latest
external
into your branch.- On Visual Studio Code, click button with your branch name in the bottom left corner and switch to
external
. - Click the 🔄 icon in the bottom left corner to synchronise your local
external
with GitHub. - Click the
external
button in the bottom left corner and switch back to your branch. - Summon the Command Palette with
Ctrl + Shift + P
(Windows and Linux) orCmd + Shift + P
(macOS). - Type
merge
and select Git: Merge Branch... from the menu. - Select the
external
branch. - Click the 🔄 icon in the bottom left corner to synchronise your local branch with GitHub.
- Note: This could also be done by clicking the Update branch button on the Pull Request page.
- On Visual Studio Code, click button with your branch name in the bottom left corner and switch to
- If This branch has conflicts that must be resolved, you must fix your branch locally.
- On Visual Studio Code, merge the
external
branch into your working branch as explained previously. - Navigate through the list of merge conflicts using the Command Palette and the Merge Conflicts commands.
- Accept the appropriate changes (both, usually) to fix the mergeability of your branch with respect to
external
. - When you are done fixing all the merge conflicts, stage, commit and sync your changes to GitHub.
- Note: This could also be done by clicking the Resolve conflicts button on the Pull Request page.
- On Visual Studio Code, merge the
- Once the status checks are all successful, warn the reviewer that your Pull Request is pending approval.
- The reviewer will either Approve or Request changes to your PR.
- If the reviewer Requested changes, you should address them by submitting new code to your branch.
- If the reviewer Approved your Pull Request, no action is required.
- After all the approvals, status checks and branch protections have been satisfied, your branch will be merged into
external
. - Go back to Visual Studio Code, click the button with your branch name in the bottom left corner and switch back to the
external
branch. - Synchronise your local
external
branch with that of GitHub by clicking the 🔄 icon on the bottom left corner. - Get ready for the next sprint!!!