Skip to content

Development Workflow

Max Saperstone edited this page Jul 20, 2017 · 14 revisions

Branch/Merge Strategy

All work will be done on feature branches. Try to name your feature branch something specific. These should all be branched from develop (set as the default branch in Github). Once the work is completed, push updates to the remote. If an open issue exists on Github, be sure to tie the commit or branch to this issue.

Pull Requests

Submit a pull request from your branch into develop, and assign it to either mgrasberger or msaperst. CI will automatically kick off to run all unit and integration tests, along with scanning the code for known issues. Once enough issues have been fixed, a release will be made.

Snapshots

After feature branch has been merged into develop branch, deploy needs to be done to the snapshot repository.

  • Ensure the correct version is set to the pom, and that it is a snapshot
  • Run the maven deploy goal

Javadocs

Each merge into develop should also have the javadocs updated. To do this, follow the below steps:

  • Navigate to the javadoc location cd target/apidocs
  • If not already setup, initialize it as a git repo git init
  • Add the existing remote for the javadocs git remote add javadoc git@github.com:msaperst/msaperst.github.io.git
  • To preserve our git history, pull in the old history git fetch --depth=1 javadoc master
  • Add all of your updates, and don't worry about merges git add --all; git commit -m "Adding updates for XXX"; git merge --no-edit -s ours remotes/javadoc/master
  • Finally, push the code git push javadoc master

Release

When ready for a full release, follow the below flow:

  • Develop needs to be merged into master
  • Ensure the correct version is set in the pom, and that it is a not a snapshot
  • Run the maven deploy goal
  • Log in to Sonatype
  • Search for selenified, and select release

Hotfixes

Clone this wiki locally