Skip to content

Commit

Permalink
chore: menambahkan utilities untuk repository (#3)
Browse files Browse the repository at this point in the history
Signed-off-by: slowy07 <slowy.arfy@gmail.com>
  • Loading branch information
slowy07 authored Nov 29, 2023
1 parent 108f780 commit 8df8e13
Show file tree
Hide file tree
Showing 5 changed files with 212 additions and 2 deletions.
42 changes: 42 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
## Deskripsi (Description)
<!-- Deskripsikan tentang perubahan yang kamu berikan. -->

## Checklist:
### Umum:
<!-- Checklist semua perubahan yang sesuai. -->
- [ ] Saya menambah algoritma terbaru.
- [ ] Saya memperbaiki algoritma yang sudah ada.
- [ ] Saya memperbaiki dokumentasi.
- [ ] Saya menambah dokumentasi.

### Contributor Requirements (Syarat Kontributor) dan Lain-Lain:
<!-- Checklist semua perubahan yang sesuai. Wajib checklist opsi pertama. -->
- [ ] Saya sudah membaca (I have read) [CONTRIBUTING]() dan sudah menyetujui semua syarat.
- [ ] Saya telah menambahkan komentar (doc comment) yang memberikan penjelasan maksud dari kode yang saya buat.
- [ ] Saya menggunakan bahasa Indonesia untuk memberikan penjelasan dari kode yang saya buat.

### Unit Testing dan Linting:
<!-- Checklist unit tester / linter yang sesuai. -->
- [ ] zig test
- [ ] zig fmt

## Environment

Saya menggunakan (I'm using):
<!-- Ganti sesuai yang digunakan. -->
- ``os`` = ``linux / windows / macOS``
- ``zig`` = ``zig env``
<!-- contoh
{
"zig_exe": "/usr/bin/zig",
"lib_dir": "/usr/lib/zig",
"std_dir": "/usr/lib/zig/std",
"global_cache_dir": "/home/name/.cache/zig",
"version": "0.11.0", <-- versi dari zig
"target": "x86_64-linux.6.6.2...6.6.2-gnu.2.19"
}
--!>

<!-- Jika ada gagal pada salah satu test, kami akan mengeceknya kembali. -->
<!-- If there is a failure in one of the tests, we will check it again. -->
linked issue #NOMOR_ISSUE <!--contoh #1-->
53 changes: 53 additions & 0 deletions .mergify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
pull_request_rules:
# membuat requirement dari automerge dengan sistem
# ketika workflow build passed maka akan dicentang
# ketika target pull request ke main maka akan dicentang
# ketika dikasih label 'ready-to-merge' akan dicentang

# ketika requirement telah terpenuhi maka bot akan bekerja
# dan pull request secara otomatis akan merge
- name: ci testing kalo sukses ke squash dengan label
conditions:
- base=main
- label=ready-to-merge
actions:
# menambahkan komentar jika sudah di merge
comment:
message: terima kasih atas kontribusinya @{{author}} !
# menambahkan label jika sudah di merge
label:
add:
- sudah dirieview!
# metode sistem dari automerge
merge:
method: squash

# membuat label dengan kondisi jika di dalam pull request
# terdapat file zig
- name: zig label
conditions:
- or:
- body~=(?m)^\[X\] Saya menambah algoritma terbaru.
- body~=(?m)^\[X\] Saya membperbaiki algoritma yang sudah ada.
- files~=\.zig$
actions:
# menambahkan label 'zig files'
# dan label 'request tim zig untuk review'
label:
add:
- zig files
- request tim zig untuk review

# membuat label dengan kondisi jika di dalam pull request
# terdapat file markdown
- name: markdown label
conditions:
- or:
- body~=(?m)^\[X\] Saya menambah algoritma terbaru.
- body~=(?m)^\[X\] Saya membperbaiki algoritma yang sudah ada.
- files~=\.md$
actions:
# menambahkan label 'markdown files'
label:
add:
- markdown files
1 change: 0 additions & 1 deletion Basic/01_introduction/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ choco install zig
# dargonfly bsd
ravensw install zig-single-standard
```
- **


## contoh `hello world` pada zig
Expand Down
111 changes: 111 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# *Contributing*

***Contributor***

Kami sangat senang anda telah ikut berkontribusi dalam implementasi algortima, struktur data, atau memperbaiki *error*.
Semua boleh ikut berkontribusi sekecil apapun dengan pengecualian sebagai berikut:

- Hasil pekerjaan kamu adalah buatan kamu sendiri dan tidak ada hak cipta dari orang lain. Jika kami menemukan kesamaan, maka tidak kami *merge*.
- Hasil kerja kamu akan berlisensi [MIT](LICENSE) ketika *pull request* kamu sudah di-*merge*.
- Hasil kerja kamu wajib mengikuti standar dan *style* koding dari kami.
- Hanya menerima *file* dengan ekstensi ``*.zig``, selain itu dibuat pengecualian dengan menjelaskan secara detail.

Algoritma harus dikemas sedemikian rupa agar dapat dengan mudah dimasukkan ke dalam program yang lebih besar.

Algoritma harus:

- memiliki nama kelas dan fungsi intuitif yang memperjelas tujuannya bagi pembaca;
- menggunakan konvensi penamaan Zig dan nama variabel intuitif untuk memudahkan pemahaman;
- fleksibel untuk mengambil nilai *input* yang berbeda;
- memiliki *doc comment* dengan penjelasan yang jelas dan/atau URL ke materi sumber;
- berisi *testing* yang menguji nilai *input* yang valid dan salah;

## Doc comments

penggunaan *doc comments* bertujuan untuk memudahkan pembaca membaca dan mengimplementasikan algoritma

**docs comment yang baik**
```zig
const std = @import("std");
fn angka(a: i32, b: i32) i32 {
// membuat fungsi untuk menambahkan 2 angka yaitu a dan b
// parameter:
// a (i32): angka integer
// b (i32): angka integer
// return:
// hasil nilai yang ditambahkan
// contoh
// hasil = angka(3, 2);
// std.debug.print("{d}\n", .{hasil});
return a + b;
}
pub fn main() void {
var result = angka(13, 14);
std.debug.print("result {d}\n", .{result});
}
```

## format dan testing

kami menggunakan default format dari zig untuk memformat file dan kamu bisa mengetest file zig kamu dengan

```bash
zig fmt .

# atau
zig fmt --check .
```

```bash
zig test namaFile.zig
```

# *Pull Request*

***Pull request* yang baik**

Informasi: gunakan [*issue*](https://github.com/bellshade/zig/issues) apabila ingin menambahkan kode atau implementasi algoritma, dll (*basic*) agar tidak ada konflik dengan *pull request* lainnya. Kamu juga bisa menggunakan issue jika kamu ada
kendala atau masalah ketika melakukan pull request. Kamu juga bisa bertanya pada forum discord **WPU** dan **Kelas Terbuka** perihal bellshade.

- Lakukan penjelasan deskripsi perubahan yang anda lakukan pada repositori kami dengan membuat penjelasan di [*issue*](https://github.com/bellshade/zig/issues).
- Setelah menjelaskan perubahan anda di [*issue*](https://github.com/bellshade/zig/issues) kemudian lakukan *fork* pada repositori kami.
- Setelah melakukan *fork*, anda dibebaskan untuk mengubah atau menambah algoritma.
- Untuk *pull request* merubah atau memperbaiki, diusahakan kamu menerapkan algoritma yang lebih baik dan lebih mudah serta memeberikan penjelasan lebih detail alasan dari perubahaan tersebut lebih baik dari sebelumnya.
- Setelah merubah-rubah atau menambahkan algoritma serta melakukan tes lokal kode kamu, usahakan kamu membuat *local branch* baru:
```bash
git checkout -b <branch_name>
git add . # atau git add nama_perubahan_kamu.zig
git commit -m "feat: menambahkan algoritma terbaru"
```
- Lakukan *push* ke *branch* kamu dan kemudian *open pull request*.

**Saran pesan commit**

- `feat:` untuk menambah algoritma atau tambahan lainnya;
- `fix:` untuk mengubah algoritma yang sudah ada atau memperbaiki;
- `docs:` untuk mengubah atau membuat dokumentasi;
- `add:` untuk menambah algoritma atau tambahan lainnya (opsional);

Catatan: pesan commit harus menjelaskan perubahan secara singkat.

Contoh yang benar:
- &#9746; feat: test_x.zig
- &#9745; feat: tambah testing untuk algoritma x

Lebih lengkapnya bisa dilihat di:
- [EN](https://www.conventionalcommits.org/en/v1.0.0/)
- [ID](https://www.conventionalcommits.org/id/v1.0.0/)

Pull request akan di-*merge* jika:

- mengikuti standar dan arahan dari `CONTRIBUTING.md`;
- lulus tes dan cek dari beberapa tes yang sudah kami siapkan.

**Tambahan**:

- Jika ada kendala atau masalah dalam *pull request*, kamu bisa laporkan masalahnya dalam [issue](https://github.com/bellshade/zig/issues).
- Jika ada tes yang tidak lewat atau gagal, kami akan cek kembali perubahan anda.

Untuk *pull request*, disarankan untuk menjelaskan secara detail yang kamu ubah atau tambahkan, dan bersikap sopan serta selalu berterima kasih. Itu salah satu bentuk tata krama yang baik terhadap sesama *contributor* dan *programmer* lainnya.
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,15 @@ Untuk menggunakan repositori dengan maksimal, kalian perlu belajar programming d
| Langkah | Topik | Target Pembelajaran | Materi Rujukan |
| :-----: | :------------------------------: | :-----------------------------------------------------------------------------------: | :-----------------------------------: |
| 01 | Introduksi Pemograman dan Zig | Memahami apa itu membuat program dan apa peran Zig dalam proses pembuatan program | [Materi](Basic/01_introduction) |
| 02 | Tipe data | Memahami apa itu tipe data | [Materi](Basic/02_tipe_data) |


## 🤩 Ayo ikut kami dan berkontribusi! 🤩

Bantuan kalian diperlukan Agar Bellshade dapat lebih jauh lagi membantu anak-anak Indonesia belajar _programming_, kita butuh tenaga kalian!

> "Dengan Bellshade, aku jadi bisa _ngoding_! Terima kasih Bellshade!"
> "Dengan Bellshade, aku jadi bisa _ngoding_! Terima kasih Bellshade!"
Kami sangat senang bila kalian ingin melakukan kontribusi pada repositori **Zig** ini. Tapi, sebelum itu, silahkan baca terlebih dahulu [peraturan dan pedomannya](CONTRIBUTING.md) yang telah kami siapkan. Terima kasih!

Untuk informasi lebih lanjut, mari gabung dalam komunitas [Discord Channel WPU](http://discord.gg/S4rrXQU) dan [Discord Channel Kelas Terbuka](https://discord.gg/eavqxxTU)

0 comments on commit 8df8e13

Please sign in to comment.