Skip to content
This repository has been archived by the owner on Jun 4, 2020. It is now read-only.
dzadza edited this page Mar 31, 2020 · 6 revisions

Git Workflow

New task

  1. (optional) `git clone [email protected]:Pronovix/YOURPROJECT.git
  2. cd YOURPROJECT
  3. git checkout master
  4. git pull origin master
  5. Inside the php container run the following commands:
    1. composer install
    2. drush cr
    3. drush updb
    4. drush cim
    5. drush cr
    6. Repeat step d. and e. until 'There are no changes to import.'
  6. git checkout -b issue/1234
  7. Make changes
  8. Inside the php container run the following commands:
    1. drush cex (export the configs you changed, if any)
  9. git add .
  10. git commit -m "Do stuff"
  11. git push origin issue/1234
  12. Create PR
  13. Wait for build to finish, fix problems if any
  14. Ping mentor in Slack to review changes
  15. Wait for review (ping mentor again if no response given in reasonable time), do fixes if requested (~ repeat from step 6)
  16. When the build doesn't fail and a mentor approved the PR, merge
  17. Visit staging site, test changes (check the redmine wiki for access info)
  18. If something's wrong, go back to step 6

Existing task

  1. git checkout issue/1234
  2. When you are in the middle of a task and the master branch has changes before pulling the latest changes always commit your work first, DON'T FORGET to export your configs (drush cex) and commit them as well , and then you can pull master (git pull origin master)
  3. git pull origin master
  4. Inside the php container run the following commands:
    1. composer install
    2. drush cr
    3. drush updb
    4. drush cim
    5. drush cr
    6. Repeat step iv. and v. Until 'There are no changes to import.'
  5. Continue with steps from step 7 in New Task

Prod release

  1. After the master branch reached a release ready state and you are ready to create a new release, navigate to the github project.
  2. Click the release tab
  3. Click Draft new release
  4. With the help of semantic versioning determine the nature of the release and increment the version number accordingly
  5. Title should be Release N where N is the number of the current release.
  6. Description should contain a list of features/fixes/tasks done in the release
  7. When ready, click Publish release
  8. Check prod site if everything went correctly (check the redmine wiki for access info)
Clone this wiki locally