Skip to content

Workflow, Code Reviews, and Documentation

Bradly Alicea edited this page Nov 9, 2021 · 10 revisions

Development Workflow: Getting Started

Get Started
Development Workflow: Working with the Code
Development Workflow: Submitting to a Rokwire repository
Code Reviews
Documentation
Talent Creation
Video and Wiki resources

Create a GitHub account, if you don’t already have one.

To make a contribution to what is hosted at the Rokwire Github organization, you will have to create a Github account. You do not need to use your University credentials nor authorization to participate. Once you do this, you can contribute to the Illinois App discussion board, issue a pull request to a public repository, or work on an instance of the Illinois App.

Get started by creating issues.

When you want to push your work to a repository, or simple interact with the development team, you will want to use Github issues. This is an essential part of the development workflow. Use our issue templates to address one of several types of issue: accessibility report, usability report, bug report, security vulnerability, and feature request.

Start the development workflow either by creating a new issue using these templates or by adding to an existing issue in the repository. When creating a new GitHub issue, please make sure to include as many details as possible. The templates will prompt you and help the development team better understand your request.

If you are adding to an existing GitHub issue, please make sure that you understand the issue clearly. If the description and discussion are not clear, please share your questions/comments in the issue to get things clarified before you start writing code. You are also encouraged to get in touch with the creator of the issue you are addressing, or the Open-source Community Manager.

Development Workflow: Working with the Code

Forking and Cloning a Local Instance.

To make any changes to the code base, you will need to fork the repository to which you are interested in contributing. If you would like to develop a local instance, you will want to clone that fork to your local machine, and then fetch the updated contents of this clone when you want to push your fork back to Rokwire in the form of a pull request. To work with a clone on your local machine, you will need to install an Integrated Development Environment (IDE) for iOS (xCode) or Android (Android Studio), as well as the latest version of the Flutter Development Environment.

Working with branches on your repository fork

In some cases you might want to work directly from the repository fork, but not make changes to the main Development fork. This is good for proposing fixes to bugs that need to be vetted by the development team before inclusion in the current development version. In such cases, you will want to create a branch corresponding to the type of issue you are trying to resolve.

Please use the following naming convention for naming branches: <feature(type)>/<GitHub issue number followed by a short description, all spaces occupied by hyphens>. An example of this would be: feature/201-add-support-for-kubernetes.

Implement the new feature or bugfix on your branch

From your branch in the forked repository, make a pull request against the develop branch in the root repository. Please follow the instructions in the pull request template. Please link your pull request to the GitHub issue that you are trying to implement or fix. Please see the relevant GitHub documentation on this.

Development Workflow: Submitting to a Rokwire repository

When a pull request is created, the code repository maintainer(s) gets added as reviewers automatically. Work with the maintainer(s) to get your change reviewed. The maintainer(s) may also invite other experts or developers as reviewers. After your pull request is reviewed and approved by the maintainer(s), it will be merged to the develop branch using a squash commit. After merging your branch to the remote develop branch, pull the latest code from the remote repository to your fork repository to view your change in your development environment.

At this point, you may want to delete your feature/bugfix branch in your fork repository.

Code Reviews

Each repository will have at least one maintainer who will be responsible for reviewing the incoming pull request. In certain situations, other contributors may also be brought in as reviewers by the maintainer. After a pull request gets successfully reviewed, the incoming branch is merged to the develop branch. To keep the commit history clean, we will try to squash the commits into a single commit for each merge onto the develop branch.

Documentation

For basic developer documentation, please consult the READMEs in each code repository. Our Community Wiki also provides basic terminology, processes and procedures, and other supplemental reference materials that might be useful. If you are working with our Building Blocks API, we describe the various API endpoints using the OpenAPI specification. The Rokwire Platform API documentation is available via Swagger.

Talent Creation

More to come.

Video and Wiki Resources

How to Address Issues YouTube video

Issues and Project Boards YouTube videos

What is an Application Talent? Wiki stub

How to Align Files for a Code Review Wiki stub

Clone this wiki locally