Skip to content

ACME workflow

James Foucar edited this page Aug 24, 2016 · 8 revisions

Steps:

  1. Clone ACME / Checkout master and pull
  2. Determine initial baseline action
  • Case 1: Short-lived branch, nightly processes for this machine maintain baselines: Goto step 4
  • Case 2: Short-lived branch, nightly processes for this machine do not maintain baseline: Goto step 3
  • Case 3: Long-lived branch: Goto step 3
  1. Update baselines for acme_developer: create_test -g acme_developer -b feature_name
  2. Create your feature branch, make commits
  3. Test your feature branch against master baselines: create_test -c acme_developer
  • Add -b feature_name to command above if you did not skip step 3
  1. If all PASS, submit pull request
  • If you skipped step 3 and see unexpected diffs and it's been a few days since your branch was created, you may try rebasing your branch onto latest master and re-running the diffing tests.

Integration:

  1. The integrator reviews the code and merges the feature branch to our "next" branch
  2. Nightly Jenkins processes run the next branch on a number of systems
  3. If the tests above had no new fails or unexpected diffs, go to step 6
  4. Testing czar bisects next branch on machine with new fails/diffs, notify the developer of the branch flagged by bisect that their branch caused problems
  5. Developer makes fixes to their branch, go back to integration step 1
  6. Expected diffs are blessed
  7. Merge feature branch to master
  8. Expected diffs are blessed to master baselines next day
Clone this wiki locally