תרומה לפרויקט
הגדרה
עשה שינוי קטן אחד במקום הנכון ושלח אותו כ-pull request.
לפני שמתחילים
קישור אל לפני שמתחילים- פתח קודם issue, או הגב על issue שכבר קיים. כתוב מה אתה רוצה לשנות ולמה.
- חכה לתשובה, כדי שלא תבנה משהו שלא ימוזג.
- סיים את ההגדרה הראשונית כדי שתוכל לבנות ולהריץ את HolyArrs.
שאלות הולכות ל-Discord. רעיונות הולכים ל-r/HolyArrs. ה-issues הם לבאגים ולמפת הדרכים.
שלח את ה-pull request הראשון שלך
קישור אל שלח את ה-pull request הראשון שלך-
מצא את המודול ששייך לו השינוי שלך. השמות במודולים זהים לשמות התיקיות, ולכן התראה שגויה ב-Discord היא שינוי ב-
alerts. -
עשה את השינוי ב-
app/backend/internal/<module>/וב-app/frontend/src/lib/<module>/. הישאר בתיקון אחד או יכולת אחת. -
בנה את אפליקציית ה-web, אחר כך את התוכנה, ונסה את השינוי בדפדפן. ראה הגדרה ראשונית.
-
הרץ את הבדיקות בבדיקות.
אתה אמור לראות שאין שום כשל.
-
אם שינית דף, הרץ את פרויקט ה-end-to-end שלו, למשל
npm --prefix app/frontend run e2e -- --project=movies. -
פתח את ה-pull request. קשר אליו את ה-issue, כתוב מה השתנה ואיך בדקת, והוסף או עדכן בדיקות לשינוי.
-
ב-pull request הראשון שלך, בוט מבקש ממך לחתום על הסכם הרישיון של התורמים. ענה במשפט האחד שהוא מבקש.
אפשרויות
קישור אל אפשרויותלאן שינוי הולך
קישור אל לאן שינוי הולך| שינוי | לך אל |
|---|---|
| נתיב חדש | מודולים |
| מודול חדש | מודולים. פתח קודם issue |
| יכולת שמורה | הגדרה ראשונית |
| גרסה | פרסום גרסה. למתחזקים בלבד |
איך נראה pull request טוב
קישור אל איך נראה pull request טוב- כתוב הערות שאומרות למה הקוד עושה את מה שהוא עושה. בלי מספרי מפת דרכים, תאריכים, שמות או מקפים ארוכים (em dash) בהערות.
- אל תיגע בניסוחים של האפליקציה, אלא אם ה-issue עוסק בניסוח.
- אל תשנה נתיבי API שכבר יצאו, שמות שדות, מפתחות הגדרות, שמות טבלאות ושמות משימות. הוסף חדשים, ואל תשנה שמות קיימים.
אם זה לא עובד
קישור אל אם זה לא עובדתסמין. בדיקת מבנה נכשלת. סיבה. ההודעה מציינת את הקובץ ואת הכלל. פתרון. העבר את הקוד, או העבר נתונים פשוטים מהמודול הגבוה. ראה מודולים.
תסמין. אפליקציית ה-web נראית ישנה. סיבה. התוכנה מגישה את ה-build שהיא הטמיעה. פתרון. בנה שוב את אפליקציית ה-web לפני התוכנה.
תסמין. בדיקות end-to-end לא מצליחות להתחיל.
סיבה. דפדפן הבדיקות לא מותקן.
פתרון. הרץ npx --prefix app/frontend playwright install chromium.
למומחים
קישור אל למומחיםכללים ש-pull request חייב לשמור
- מודול מדבר עם מודול אחר רק דרך ה-service שלו (Go) או דרך ה-
index.tsשלו (web). אף פעם לא דרך ה-store או הקבצים שלו. - SQL נמצא רק בקבצי
store*.goשל המודול, על הטבלאות של אותו מודול. - חלק של ה-web נכנס ל-
lib/uiרק כש-2 מודולים או יותר משתמשים בו. - בלי חבילות
util,common,sharedאוhelpers. - כל קריאה החוצה עוברת דרך
core/outbound.
הבדיקות בודקות את הכללים האלה, ולכן import שגוי מפיל את ה-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, בדיקות scope על כל נתיב, סוויטת המורידים |
| Fault and scale | ריצות של קריסה, כתיבה איטית, שירות חיצוני תקול וזיכרון |
| Image | image לפיתוח נבנה, עולה ומדווח על הגרסה שלו |
פרטים על הריצות הארוכות נמצאים בבדיקות.
קשור
קישור אל קשורHolyArrs חינמי. אם זה חסך לך זמן, תן לו כוכב ב-GitHub, תמוך בפרויקט או קנה לי קפה.