The Ubiquity team accepts contributions from IBM employees using GitHub pull requests. Pushing to master is not allowed. Any direct push to master might interfere with our CI process.
If you want to make a change, create your own branch out of dev
branch, make your changes. Once you are done, submit a pull request to the dev
branch. When accepted, the changes will make their way into master
after we merge.
Verify your changes before submitting a pull request by running the unit, integration and acceptance tests. See the testing section for details. In addition, make sure that your changes are covered by existing or new unit testing.
- Install golang (>=1.9.1).
- Install git.
- Install gcc.
- Configure go. GOPATH environment variable must be set correctly before starting the build process. Create a new directory and set it as GOPATH.
- Configure ssh-keys for github.com. go tools require passwordless ssh access to github. If you have not set up ssh keys for your github profile, follow these instructions before you proceed.
- Build Ubiquity Provisioner and FlexVolume from source.
mkdir -p $HOME/workspace
export GOPATH=$HOME/workspace
mkdir -p $GOPATH/src/github.com/IBM
cd $GOPATH/src/github.com/IBM
git clone git@github.com:IBM/ubiquity-k8s.git
cd ubiquity-k8s
./scripts/run_glide_up
./scripts/build_provisioner
./scripts/build_flex_driver
Run the tests:
./scripts/run_glide_up
./scripts/run_units.sh
Upon the merge (by either you or your reviewer), all commits on the review branch must represent meaningful milestones or units of work. Use commit message to detail the development and review process. Before merging a PR, squash any fix review feedback, typo, and rebased sorts of commits.