Scholar@UC App Workflow - uclibs/ucrate GitHub Wiki
- 
Clone the ucrate repo
git clone [email protected]:uclibs/ucrate.gitcd ucrate - 
Create a new feature branch based on the develop branch
git checkout developgit pullgit checkout -b feature/#issuenum-branch-name - 
Run bundler. (if bundler fails with mysql errors, comment out
gem 'mysql2'in the Gemfile and run bundler again)bundle install - 
Start Solr and Fedora.
 - 
Run the database migrations.
bundle exec rake db:migrate - 
Start the rails server.
rails server - 
Make sure the app is up and running.
http://localhost:3000 - 
Make your changes.
 - 
Commit your changes to local Git repository.
 - 
Run spec tests locally. Make sure they all pass.
bundle exec rake spec - 
Push changes to remote feature branch.
git push origin feature/#issuenum-branch-name - 
On github.com, open a new pull request for your feature branch.
 - 
Make sure CircleCI passes.
 - 
After someone else has merged the pull request, delete the feature branch. Do not merge your own pull requests.
 - 
Close the resolved issue.
 - 
Create a release branch based on the develop branch.
git checkout -b release - 
Make any changes and commits needed.
 - 
Push the release branch to GitHub
git push origin release - 
Complete the Change Management Form.
 - 
If a security scan is needed wipe content, create a scanning account, and request a scan
 - 
Run through the manual test script on the QA or dev server
 - 
Update the CHANGELOG.md with changes for this release
 - 
Merge the release branch into the main branch AND the develop branch.
git checkout releasegit pullgit checkout maingit pullgit merge releasegit checkout developgit pullgit merge release - 
Push the main and develop branches to GitHub
git checkout developgit push origin developgit checkout maingit push origin main - 
In the main branch, tag a new release in Git and push it to the remote
git checkout main
ex.git tag -a v1.4.0 -m '10-01-2014'git push --tags - 
[Deploy to production server] (Scholar@UC-App-Deployment-Procedures) (after change request has been approved)
 - 
Make any needed changes to the server environment (cron jobs, etc.)
 - 
Post announcement to ScholarBlog
 - 
Delete the local and remote release branches.
git branch -d releasegit push origin :release - 
The person that submitted the change request should provide an outcome on the change management website.