mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-10-17 00:29:19 +02:00
Propozycja nowego systemu tworzenia i publikowania exe na Steam #540
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Zmotywowany tragicznym stanem exe na weekly/beta i obwinianiem wszystkich za wszystko, zdecydowałem się zaprojektować system, który mam nadzieję ograniczy nieporozumienia i jasno wyizoluje gdzie testujemy exe.
Do rzeczy. Oto schemat proponowanego nowego cyklu "wydawniczego" exe.
Na repozytorium exe kluczową rolę będą odgrywać dwa branche:
Sposób działania jest prosty. Każdy cykl zaczyna się od zmergowania dowolnej liczby uprzednio wstępnie przetestowanych przez nas pull requestów do brancha staging, zakładając że branch staging do tego momentu jest równy branchowi master.
Po wrzuceniu różnej maści zmian do inkubatora następuje kompilacja exe i wydanie nowej bety na Steam z tym nowym exe. Wydanie powinno być ogłoszone wraz z listą zmian, aby znaleźć jak najwięcej osób chętnych do testowania oraz żeby testy były możliwie precyzyjne. Oczywiście ogólnikowe testy typu przejechanie scenariusza są równie ważne.
Jeżeli pojawią się błędy, których nie ma w paczce całościowej, a pojawiły się na becie, to jest to regresja i powinny zostać naprawione. Czas na naprawę błędów może być dowolny, ale dopóki wszystkie takie błędy nie zostaną naprawione, niemożliwe będzie przejście do kolejnego cyklu.
Napływające PR nie mogą być mergowane, ale mogą być testowane, aby je zaaprobować bądź poprosić o zmiany. Wyjątek stanowią PR, które zawierają poprawki do tego co jest w danym momencie na staging - te powinny być mergowane stosunkowo szybko, aby łatać kod w inkubatorze.
Po stwierdzeniu, że chcemy dać nową wersję do testowania, rozpoczynamy nową iterację, w większości tą samą procedurą. Ponownie robimy kompilację, nowe wydanie bety i ogłoszenie, w którym wskazujemy listę naprawionych błędów, oraz tych jeszcze do naprawienia.
Iteracje powtarzają się do momentu, kiedy po wydaniu nie zostają zgłoszone żadne błędy, które byłyby zakwalifikowane jako regresje względem paczki całościowej/weekly. W takim wypadku po dwóch tygodniach następuje zamknięcie cyklu poprzez wrzucenie całej zawartości staging do mastera, wrzucenie nowego release na Githubie oraz pojawienie się nowego exe na weekly w momencie kiedy bot zdecyduje się wygenerować nową paczkę weekly. Nowa wersja weekly nie musi być ogłaszana, ale gracze weekly mogą stanowić drugie sito jeżeli coś prześlizgnęło się przez betę, tak aby do paczki całościowej trafiło jak najbardziej stabilne exe.
Bardzo gorąco proszę się o wypowiedź w szczególności deweloperów exe @Hirek , @MichauSto , @danniel , @daniu , @DzordZ . :)