HiHAT Development: Difference between revisions
From Modelado Foundation
imported>Niveditasinghvi mNo edit summary |
imported>Niveditasinghvi No edit summary |
||
Line 24: | Line 24: | ||
=== Before You Code, Caveats === | === Before You Code, Caveats === | ||
* Please read the instructions here completely before you get started | * Please read the instructions here completely before you get started | ||
* Make sure your xstg account user name and email match what you provide to the commits in your local git tree (configure your git environment correctly) | * Make sure your xstg account user name and email match what you provide to the commits in your local git tree (configure your git environment correctly) | ||
* Ensure your origin points to the correct repo URL after cloning | * Ensure your origin points to the correct repo URL after cloning | ||
<nowiki> $ git remote -v</nowiki> | <nowiki> $ git remote -v</nowiki> | ||
* Keep your commit messages short! The total length should be shorter than 80 chars, the subject line shorter than 70 characters. Your commit might succeed but your push to the upstream repo will fail with a "commit message length exceeded" error. [We can configure this to be more flexible going forward]. | |||
* Ensure that your git log shows a Change-Id: line (automatically added by /.git/hooks/commit-msg) | |||
Line 43: | Line 44: | ||
#: <nowiki> git push origin HEAD:refs/for/master</nowiki> | #: <nowiki> git push origin HEAD:refs/for/master</nowiki> | ||
# Check the Gerrit Web UI to see your patch submission | # Check the Gerrit Web UI to see your patch submission | ||
=== Project Groups === | |||
* '''ldap/hihat-admin''': project admin (same as project for now); authority to do all project operations | |||
* '''ldap/hihat-developer''': key developer or maintainer, has authority to approve code submissions (+2 reviews), verify patches (+1 verify in place of build/test automated verification methods, and most other code-flow activity | |||
* '''ldap/hihat-contributor''': individual contributor who can clone repos, submit patches, and provide +1 level code reviews, etc. |
Revision as of 20:33, August 16, 2017
HiHAT Development Environment on xstg.modelado.org
Welcome to the development environment for HiHAT. This is a brief tutorial on how to set up a development environment and work with the existing development infrastructure on xstg. There are two HiHAT project repos:
* HiHAT - public repo for community development * hihat_int - internal repo for special development
This wiki page provides information for working with the public HiHAT git repo intended for community use.
Software Tools
The HiHAT development environment uses the following tools for its Continuous Integration Pipeline:
- git - Git Book
- Gerrit - Gerrit Documentation
- Redmine - Redmine Overview
- OpenLDAP + LAM - LDAP Account Manager (LAM)
Pre-Requisites
- Git is a broadly used open source distributed version control utility. This page assumes you have a working knowledge of git.
- A brief introduction to the Gerrit Web User Interface is provided later in this document. You can use it to perform code reviews, check your submissions, check your permissions and membership, etc. You will need it before you start with git.
Before You Code, Caveats
- Please read the instructions here completely before you get started
- Make sure your xstg account user name and email match what you provide to the commits in your local git tree (configure your git environment correctly)
- Ensure your origin points to the correct repo URL after cloning
$ git remote -v
- Keep your commit messages short! The total length should be shorter than 80 chars, the subject line shorter than 70 characters. Your commit might succeed but your push to the upstream repo will fail with a "commit message length exceeded" error. [We can configure this to be more flexible going forward].
- Ensure that your git log shows a Change-Id: line (automatically added by /.git/hooks/commit-msg)
Quick Start-Up: Cloning and Submitting Patches Upstream
- Sync with the xstg team to ensure you have an account in LDAP on xstg.modelado.org
- Login to XSTG Gerrit with that account. This is a necessary step to push your credentials to Gerrit before you undertake git operations from your client system.
- Clone the HiHAT git repo on your local system
- $ git clone https://xstg.modelado.org/gerrit/HiHAT
- In your top level HiHAT git clone directory, move (or use ln -s) the hooks repo to .git
- HiHAT$ mv git-hooks .git/hooks
- Make your development changes in your git tree, and commit them to your tree via your usual preferred git operations. e.g.:
- $git add .; git commit .
- Note the git commit msg length limitation above in the Caveats section!
- Push upstream
- git push origin HEAD:refs/for/master
- Check the Gerrit Web UI to see your patch submission
Project Groups
- ldap/hihat-admin: project admin (same as project for now); authority to do all project operations
- ldap/hihat-developer: key developer or maintainer, has authority to approve code submissions (+2 reviews), verify patches (+1 verify in place of build/test automated verification methods, and most other code-flow activity
- ldap/hihat-contributor: individual contributor who can clone repos, submit patches, and provide +1 level code reviews, etc.