You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
4.1 KiB

  1. # Breaking changes
  2. Ce document décrit le processus de QMK pour la gestion des breaking changes. Un breaking change est un changement qui modifie la manière dont QMK fonctionne introduisant des incompatibilités ou des comportements dangereux. Nous limitons ces changements afin que les utilisateurs n'aient pas peur de casser leurs keymaps en mettant à jour leur version de QMK.
  3. La période de breaking change est quand nous allons fusionner un PR qui change QMK d'une manière dangereuse ou inattendue. Il y a une période interne de test afin de nous assurer que les problèmes résiduels sont rares ou impossible à prévoir.
  4. ## Qu'est-ce qui a été inclus dans des Breaking Changes précédents?
  5. * [30 août 2019](ChangeLog/20190830.md)
  6. ## Quand va être le prochain Breaking Change?
  7. Le prochain Breaking Change est planifié pour le 29 novembre.
  8. ### Dates importantes
  9. * [x] 21 septembre 2019 - `future` est créé. Il va être rebasé de manière hebdomadaire.
  10. * [ ] 01 novembre 2019 - `future` fermé aux nouveaux PRs.
  11. * [ ] 01 novembre 2019 - Appel aux testeurs.
  12. * [ ] 27 novembre 2019 - `master` est bloqué, pas de PRs fusionnés.
  13. * [ ] 29 novembre 2019 - `future` est fusionné dans `master`.
  14. * [ ] 30 novembre 2019 - `master` est débloqué. Les PRs peuvent à nouveau être fusionnés.
  15. ## Quels changements seront inclus?
  16. Pour voir une liste de candidats de breaking changes, vous pouvez regarder la liste des [labels `breaking_change`](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+label%3Abreaking_change+is%3Apr). De nouveaux changements peuvent être ajoutés entre maintenant et lorsque `future` est fermée, et un PR avec ce label n'est pas garanti d'être fusionné.
  17. Si vous souhaitez que votre breaking change soit inclus dans ce tour, vous devez créer un PR avec le label `breaking_change` et faire en sorte qu'il soit accepté avant que `future` ne soit fermé. Une fois `future` fermé, aucun nouveau breaking change sera accepté.
  18. Critère d'acceptation:
  19. * Le PR est complété et prêt à fusionner
  20. * Le PR a un ChangeLog
  21. # Checklists
  22. Cette section documente plusieurs processus que nous utilisons en lançant le processus de Breaking Change.
  23. ## Rebase `future` de `master`
  24. Ceci est lancé chaque vendredi tant que `future` est ouvert.
  25. Processus:
  26. ```
  27. cd qmk_firmware
  28. git checkout master
  29. git pull --ff-only
  30. git checkout future
  31. git rebase master
  32. git push --force
  33. ```
  34. ## Créer la branche `future`
  35. Ceci est fait immédiatement après la fusion de la branche `future` précédente.
  36. * `qmk_firmware` git commands
  37. * [ ] `git checkout master`
  38. * [ ] `git pull --ff-only`
  39. * [ ] `git checkout -b future`
  40. * [ ] Modifie `readme.md`
  41. * [ ] Ajoute un message en haut qui indique que c'est une branche de test.
  42. * [ ] Ajoute un lien vers ce document
  43. * [ ] `git commit -m 'Branch point for <DATE> Breaking Change'`
  44. * [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>`
  45. * [ ] `git tag <next_version>` # Evite que le label point d'arrêt soit confondu par un incrément de version
  46. * [ ] `git push origin future`
  47. * [ ] `git push --tags`
  48. ## 4 Semaines Avant la Fusion
  49. * `future` est maintenant fermé aux nouveaux PRs, seul des correctifs pour les PRs courants peuvent être mergés
  50. * Envoi de l'appel aux testeurs
  51. * [ ] Discord
  52. * [ ] GitHub PR
  53. * [ ] https://reddit.com/r/olkb
  54. ## 1 Semaine Avant la Fusion
  55. * Annonce que master sera fermée entre <2 jours avant> à <Jour de la fusion>
  56. * [ ] Discord
  57. * [ ] GitHub PR
  58. * [ ] https://reddit.com/r/olkb
  59. ## 2 Jours Avant la Fusion
  60. * Annonce que master est fermé pour 2 jours
  61. * [ ] Discord
  62. * [ ] GitHub PR
  63. * [ ] https://reddit.com/r/olkb
  64. ## Jour de la fusion
  65. * `qmk_firmware` git commands
  66. * [ ] `git checkout future`
  67. * [ ] `git pull --ff-only`
  68. * [ ] `git rebase origin/master`
  69. * [ ] Modifie `readme.md`
  70. * [ ] Supprimer les notes à propos de `future`
  71. * [ ] Regroupe ChangeLog dans un fichier.
  72. * [ ] `git commit -m 'Merge point for <DATE> Breaking Change'`
  73. * [ ] `git push origin future`
  74. * Actions sur GitHub
  75. * [ ] Crée un PR pour `future`
  76. * [ ] Fusion le PR `future`