Wpierw sprawdź czy już ktoś wcześniej nie zgłosił podobnego rozwiązania.
Jeżeli nie, to śmiało, stwórz nowe issue!
Jeżeli jest coś co chciałbyś poprawić/dodać to zrób forka Poli oraz stwórz branch'a z opisową nazwą.
Do nazewnictwa brancha zastosuj prefixowanie fix/
lub feature/
wraz z numerem issues'a i krótkim opisem (najlepiej po angielsku), przykładowo:
git checkout -b feature/423_added_new_feature
Wykorzystujemy CocoaPods jako narzędzie do pobierania i konfigurowania zależności. Do uruchamiana testów i linterów na CI oraz lokalnie używamy fastlane. W testach wykorzystywane jest porównywanie snapshotów z uzyciem biblioteki SnapshotTesting. Obrazy referencyjne nagrane są na symulatorze urządzenia iPhone 8 z systemem iOS 14. Ze względu na zmiany w symulatorze od Xcode'a 10 związanym z rendenerowaniem obrazu symulatora na GPU, obraz nagrany na różnych komputerach mac może nieznacznie się różnić. W celu uniknięcia tego problemu można użyć Github Actions i workflow Snapshot, który na danym branchu nagrywa obraz referencyjny i pushuje do repozytoriun W przypadku niepowodzenia testów snapshoty ze wskazaniem różnicy przechowywane są w artefaktach Github Actions w pliku xcresults razem z całym przebiegiem testów.
Preferujemy metodę rebase & squash przed samym stworzeniem PR. Oznacza to, że branch na którym pracujesz powinien mieć jak najmniej commitów (przy małych zmianach tylko jeden) oraz powinien odchodzić od najnowszego commita na masterze.
Gdy już masz to gotowe stwórz PR
PR może być tylko zmergowany gdy:
- Został zaakceptowany przez opiekuna.
- Wszystkie komentarze zostały zamknięte/zakończone.
- Branch odchodzi od najnowszego master.
- Zmiany zostały pomyślnie zbudowane i przetestowane przez serwer CI.
Uruchamiamy workflow deploy z odpowiednim parametrem wersji
Przed zbudowaniem aplikacji do wydania należy:
-
Ustawić odpowiednią wersję:
- Uruchamiamy workflow Bump version z odpowiednim parametrem wersji
-
Skonfigurować Firebase:
- Pobieramy plik
GoogleService-Info.plist
dla projektu Pola z konsoli Firebase. - Edytujemy plik zmieniając wartość dla klucza
IS_ANALYTICS_ENABLED
naYES
. - Podmieniamy istniejący plik w projekcie na pobrany.
- Pliku, ani powyższych zmian nie dodajemy do repozytorium!
- Pobieramy plik
-
Ściągnąć wymagane certyfikaty przy pomocy komendy
bundle exec fastlane match