Langkau ke kandungan

Menyumbang

Persediaan

Buat satu perubahan kecil di tempat yang betul dan hantar sebagai pull request.

  • Buka isu dahulu, atau beri komen pada isu yang sedia ada. Nyatakan apa yang anda mahu ubah dan sebabnya.
  • Tunggu balasan, supaya anda tidak membina sesuatu yang tidak akan digabungkan.
  • Selesaikan Persediaan supaya anda boleh membina dan menjalankan HolyArrs.

Soalan ke Discord. Idea ke r/HolyArrs. Isu untuk pepijat dan pelan hala tuju.

Hantar pull request pertama anda

Pautan ke Hantar pull request pertama anda
  1. Cari modul tempat perubahan anda berada. Nama dalam Modul sama dengan nama folder, jadi amaran Discord yang salah ialah perubahan dalam alerts.

  2. Buat perubahan dalam app/backend/internal/<module>/ dan app/frontend/src/lib/<module>/. Hadkan kepada satu pembetulan atau satu ciri.

  3. Bina app web, kemudian program, dan cuba perubahan itu dalam pelayar. Lihat Persediaan.

  4. Jalankan semakan dalam Pengujian.

    Anda tidak akan nampak sebarang kegagalan.

  5. Jika anda mengubah sesuatu halaman, jalankan projek hujung ke hujungnya, contohnya npm --prefix app/frontend run e2e -- --project=movies.

  6. Buka pull request. Pautkan isu itu, nyatakan apa yang berubah dan cara anda mengujinya, serta tambah atau kemas kini ujian untuk perubahan itu.

  7. Pada pull request pertama anda, bot akan meminta anda menandatangani perjanjian lesen penyumbang. Balas dengan satu ayat yang diminta.

Ke mana perubahan pergi

Pautan ke Ke mana perubahan pergi
Perubahan Pergi ke
Laluan baharu Modul
Modul baharu Modul. Buka isu dahulu
Ciri ditahan Persediaan
Satu keluaran Pengeluaran. Untuk penyelenggara sahaja

Rupa pull request yang baik

Pautan ke Rupa pull request yang baik
  • Tulis komen yang menyatakan sebab kod berbuat demikian. Tiada nombor pelan hala tuju, tarikh, nama atau sengkang em dalam komen.
  • Biarkan perkataan dalam app seperti sedia ada melainkan isu itu mengenai perkataan.
  • Kekalkan laluan API yang sudah dikeluarkan, nama medan, kunci tetapan, nama jadual dan nama tugas seperti asalnya. Tambah, jangan namakan semula.

Jika tidak berfungsi

Pautan ke Jika tidak berfungsi

Gejala. Satu semakan struktur gagal. Punca. Mesej itu menamakan fail dan peraturannya. Penyelesaian. Alihkan kod, atau hantar data biasa dari modul yang lebih tinggi. Lihat Modul.

Gejala. App web nampak lama. Punca. Program menggunakan binaan yang dibenamkan padanya. Penyelesaian. Bina app web sekali lagi sebelum program.

Gejala. Ujian hujung ke hujung tidak dapat bermula. Punca. Pelayar ujian belum dipasang. Penyelesaian. Jalankan npx --prefix app/frontend playwright install chromium.

Peraturan yang mesti dipatuhi pull request
  • Sesuatu modul bercakap dengan modul lain hanya melalui servisnya (Go) atau index.tsnya (web). Tidak pernah melalui stor atau failnya.
  • SQL hanya berada dalam fail store*.go milik modul, untuk jadual modul itu sendiri.
  • Bahagian web masuk ke lib/ui hanya apabila 2 atau lebih modul menggunakannya.
  • Tiada pakej util, common, shared atau helpers.
  • Setiap panggilan ke luar melalui core/outbound.

Ujian menyemak peraturan ini, jadi import yang salah menggagalkan binaan. Senarai penuh dan nama semakan ada dalam Modul.

Apa yang CI jalankan
Tugas Menjalankan
Web check, lint, test, build dan suite hujung ke hujung
Go go build, go vet dan go test -timeout 60m ./... pada amd64 dan arm64, secara natif dan di bawah emulasi
Race go test -race ./...
Kontrak Padanan openapi.json, semakan skop pada setiap laluan, suite pemuat turun
Kerosakan dan skala Larian ranap, tulis perlahan, perkhidmatan luar yang rosak dan memori
Imej Imej pembangunan dibina, bermula dan melaporkan versinya

Butiran larian panjang ada dalam Pengujian.

HolyArrs percuma. Jika ia menjimatkan masa anda, beri bintang di GitHub, taja projek ini atau belanja saya kopi.