Skip to content

Як робити хотфікси в реліз?

Хотфікс в апплікейшені

  1. checkout to master/main branch
  2. create a hotfix branch
  3. make a fix
  4. PR to main, merge, ready to testing on test environment
  5. checkout to target release branch
  6. cherry-pick the hotfix commit
  7. if cherry-picked commit conflicts and should be merged – resolve conflicts and merge
  8. ready to test on production environment

Хотфікс, але в лібі

Ідея така сама, що і вище, але з оновленнями ліби.

Фікс в main branch

  1. open lib project
  2. checkout to main branch
  3. create a hotfix branch
  4. make a fix
  5. bump main branch version
  6. PR to main, merge
  7. wait for lib to publish

Оновлення target апплікейшена в main

  1. open target application project
  2. checkout to main branch
  3. update lib version in package.json
  4. push, PR, merge, ready to test on test environment

Фікс ліби в target release branch

  1. back to lib, checkout to target release branch
  2. cherry-pick the hotfix commit
  3. if cherry-picked commit conflicts and should be merged – resolve conflicts and merge
  4. bump target release branch version
  5. publish lib

Оновлення target апплікейшена в target release branch

  1. open target application project
  2. checkout to target release branch
  3. update lib version to previously published release version in package.json
  4. push, PR, merge, ready to test on production environment

TIP

Якщо треба оновити декілька апплікейшенів з фіксами в лібі, то робим ті самі кроки, але для кожного апплікейшена.

FAQ

Якщо у вас декілька коммітів для cherry-pick?

черрі-пікайте всі. (Або, можливо, для цього є кращий спосіб – тоді доповніть доку 🙂)

Якщо немає права на push в release/main branch?

робіть через допоміжну бренчу PR.

checkout vXX.YY -> git checkout -b hotfix/smth -> git cherry-pick <commit> -> git push origin hotfix/smth -> PR to vXX.YY