Доприношење
Подешавање
Направи једну малу измену на правом месту и пошаљи је као pull request.
Пре него што почнеш
Линк до Пре него што почнеш- Прво отвори issue, или остави коментар на постојећем. Напиши шта желиш да промениш и зашто.
- Сачекај одговор, да не направиш нешто што неће бити прихваћено.
- Заврши Подешавање да можеш да изградиш и покренеш HolyArrs.
Питања иду на Discord. Идеје иду на r/HolyArrs. Issue-и су за багове и roadmap.
Пошаљи свој први pull request
Линк до Пошаљи свој први pull request-
Нађи модул коме твоја измена припада. Имена у Модули се поклапају са именима фолдера, па је исправка погрешног Discord обавештења измена у
alerts. -
Направи измену у
app/backend/internal/<module>/иapp/frontend/src/lib/<module>/. Нека то буде једна исправка или једна функција. -
Изгради веб апликацију, па програм, и пробај измену у претраживачу. Погледај Подешавање.
-
Покрени провере из Тестирање.
Не би требало да видиш ниједну грешку.
-
Ако си променио страницу, покрени њен end-to-end пројекат, на пример
npm --prefix app/frontend run e2e -- --project=movies. -
Отвори pull request. Повежи issue, напиши шта се променило и како си тестирао, и додај или ажурирај тестове за измену.
-
На свом првом pull request-у, бот тражи да потпишеш уговор за сараднике (contributor licence agreement). Одговори једном реченицом коју тражи.
Опције
Линк до ОпцијеГде иде измена
Линк до Где иде измена| Измена | Иди на |
|---|---|
| Нова рута | Модули |
| Нови модул | Модули. Прво отвори issue |
| Задржана функција | Подешавање |
| Верзија | Објављивање. Само за одржаваоце |
Како изгледа добар pull request
Линк до Како изгледа добар pull request- Пиши коментаре који кажу зашто код ради то што ради. Без бројева из roadmap-а, датума, имена и дугих цртица у коментарима.
- Не дирај текстове у апликацији осим ако је issue о текстовима.
- Већ објављене API путање, имена поља, кључеве подешавања, имена табела и имена задатака остави какви су. Увек додај, никада не преименуј.
Ако не ради
Линк до Ако не радиСимптом. Структурна провера пада. Узрок. Порука наводи фајл и правило. Решење. Премести код, или проследи обичне податке из вишег модула. Погледај Модули.
Симптом. Веб апликација изгледа старо. Узрок. Програм служи build који је уградио. Решење. Поново изгради веб апликацију пре програма.
Симптом. End-to-end тестови не могу да се покрену.
Узрок. Тест претраживач није инсталиран.
Решење. Изврши npx --prefix app/frontend playwright install chromium.
За напредне
Линк до За напреднеПравила која pull request мора да испоштује
- Модул прича са другим модулом само преко његовог сервиса (Go) или његовог
index.ts(веб). Никада преко његовог store-а или његових фајлова. - SQL живи само у
store*.goфајловима модула, над табелама тог модула. - Веб део иде у
lib/uiсамо када га користе 2 или више модула. - Без пакета
util,common,sharedилиhelpers. - Сваки позив ка споља иде кроз
core/outbound.
Тестови проверавају ова правила, па погрешан увоз обара build. Цела листа и имена провера су у Модули.
Шта CI покреће
| Задатак | Покреће |
|---|---|
| Web | check, lint, test, build и end-to-end скуп |
| Go | go build, go vet и go test -timeout 60m ./... на amd64 и arm64, природно и под емулацијом |
| Race | go test -race ./... |
| Contract | Поклапање са openapi.json, провере опсега на свакој рути, скуп за преузимаче |
| Fault and scale | Покретања са падом, спором упису, лошим спољним сервисом и меморијом |
| Image | Развојни image се гради, покреће и пријављује своју верзију |
Детаљи дугих покретања су у Тестирање.
Повезане странице
Линк до Повезане страницеHolyArrs је бесплатан. Ако ти је уштедео време, остави звездицу на GitHub-у, постани спонзор или купи ми кафу.