Proses Rilis Premium - JackMizh/Sisekar GitHub Wiki

Panduan ini menjelaskan langkah-langkah untuk melakukan rilis OpenSID versi Premium. Proses rilis untuk versi Umum ada di Proses Rilis Umum.

Perilisan OpenSID versi resmi dilakukan pada tanggal 1 setiap bulan. Tetapi perbaikan dan penambahan fitur dilakukan secara terus-menurus. Proses rilis berjalan dijelaskan di Proses Rilis Premium Berjalan.

Semua pengembangan perlu dihentikan lima hari sebelum rilis, untuk memberi waktu khusus untuk testing dan persiapan rilis. Dalam lima hari tersebut, perubahan masih mungkin dilakukan, untuk memperbaiki masalah yang ditemukan saat testing.

Alur Rilis : image Langkah-langkah membuat rilis:

Sistem penomoran versi OpenSID menggunakan Calendar Versioning dengan format vYY.MM-premium, di mana v adalah inisial dari kata Versi, YY adalah Dua digit terakhir tahun rilis, dan MM adalah bulan rilis (contoh v21.06-premium untuk rilis bulan Juni 2021). Tambahan -premium adalah untuk membedakan versi ini dari rilis Umum dengan versi yang sama.

Lima hari sebelum rilis:

  1. Lakukan testing untuk memastikan semua perubahan bekerja sesuai yang diinginkan. Lima hari sebelum rilis, bekukan semua perubahan script, dan umumkan di https://www.facebook.com/groups/OpenSID/ mengajak seluruh komunitas untuk ikut melakukan testing. Hanya lakukan perbaikan apabila ada kesalahan fatal akibat perubahan sejak rilis sebelumnya.

    Sebelum membuat posting, yakinkan https://berputar.opensid.or.id sudah memuat versi pra-rilis terbaru siap untuk digunakan untuk testing.
  2. Periksa setiap tema sebelum rilis untuk menampilkan logo idcloud host dan ingatkan pembuat tema untuk menerapkan.

Pada hari rilis:

Lakukan di Pagi hari 08.00 WIB

Lakukan menggunakan branch rilis-dev.

  1. Checkout ke bug-fix. Lakukan update tema dan package dengan menjalankan composer update --no-dev jika ada perubahan.
  2. Gabungkan branch bug-fix ke rilis-dev.
  3. Lakukan update tema dan package dengan menjalankan composer update --no-dev.
  4. Ubah nomor versi (VERSION) sesuai format di atas pada file opensid_helper.php. Juga ubah VERSI_DATABASE menggunakan format YYYYMMDD. Nomor urut harap dimulai dari 71. Sebagai contoh untuk rilis pada tanggal 1 November 2020, ubah menjadi 2021070171. Versi database digunakan untuk memungkinkan migrasi otomatis.
  5. Lengkapi catatan rilis di file catatan_rilis.md.
  6. Di array $versionMigrate di file donjo-app/models/Database_model.php ubah baris migrasi terakhir mengarahkan ke [versi baru] . Misalnya ubah dari baris
    '21.05' => array('migrate' =>'migrasi_2105_ke_2106, 'nextVersion' => NULL)
    menjadi
    '21.05' => array('migrate' =>'migrasi_2105_ke_2106, 'nextVersion' =>'21.06'),
    Tambahkan baris migrasi untuk [versi baru], seperti contoh berikut:
    21.06' => array('migrate' => migrasi_2106_ke_2107, 'nextVersion' => NULL)
  7. Buat file migrasi baru, misalnya : migrasi_2106_ke_2107.php dan migrasi_premium_2107.php dan sesuaikan isi migrasinya.
  8. Lakukan testing install baru. Lakukan testing upgrade dari rilis sebelumnya dan kemudian menggunakan menu Database > Migrasi DB
  9. Kirim semua perubahan sebagai pull request supaya bisa digabungkan ke branch rilis-dev oleh pengawas rilis.
  10. Siapkan draft rilis di https://github.com/OpenSID/premium/releases, isi kolom tag dengan versi sesuai format di atas. Simpan sebagai draft. Jangan dipublish. Nanti dipublish terpisah pada langkah berikut setelah pull request telah digabung oleh pengawas rilis.
  11. Tunggu pemberitahuan dari pengawas rilis bahwa pull request persiapan rilis telah digabung. Proses review oleh pengawas rilis ada di bawah (https://github.com/OpenSID/OpenSID/wiki/Proses-Rilis-Premium#review-sebelum-rilis).
  12. Publish rilis. Langkah ini hanya dilakukan setelah ada konfirmasi dari pengawas rilis bahwa langkah 8 telah selesai. Yaitu pull request persiapan rilis telah digabung ke branch rilis-dev pada tanggal 1, dan telah diobfuscate ke branch beta.
  13. Update situs demo https://beta.opensid.or.id menggunakan branch rilis-dev. Petunjuk mengupdate website demo ini ada di Memasang Demo di VPS.
  14. Buat rilis premium untuk publik https://github.com/OpenSID/OpenSID/wiki/Rilis-Premium-Repositori-Publik

Review sebelum rilis

Pull request yang dikirim pelaksana rilis perlu diperiksa oleh pengawas rilis sebelum digabung ke rilis. Proses review ini mencakup:

  1. Memeriksa setiap file yg diubah.
  2. Memasang dan menjalankan. Periksa migrasi berjalan semestinya dan versi yang ditampilkan benar.
  3. Melakukan instal baru menggunakan seeder.

Setelah lolos pemeriksaan, gabung pull request tersebut ke branch rilis-dev dan push ke repo.

Kemudian beritahu pelaksana rilis, supaya proses rilis di atas dapat dilanjutkan.

Lakukan di Sore hari 17.00 WIB

Rilis

Obfuscate branch rilis-dev ke branch rilis, menyiapkan branch yg rilis.

git checkout rilis-dev
git branch -D rilis
git checkout -b rilis
php make_obfuscate
git add .
git commit -m "Obfuscate"
git tag v[versi]-premium
git push -uf [remote] rilis
git push [remote] -uf v[versi]-premium

# Catatan:

  • unduh make_obfuscate.php
  • push tag yg diperlukan saja, jangan gunakan peritah git push --tag

Sesudah Rilis

Gabungkan branch rilis-dev ke bug-fix, untuk pengembangan rilis selanjutnya.

git checkout bug-fix
git merge rilis-dev

Sesudah proses rilis selesai, hapus branch beta dan rilis-bug-fix (krn belum digunakan) yang ada diopensid premium sehingga hanya ada branch rilis, rilis-dev, bug-fix dan branch tertentu.

Lengkapi Panduan

Perbaiki atau lengkapi panduan di Wiki OpenSID sesuai dengan perubahan atau penambahan fitur yang dilakukan di rilis.

Petunjuk melengkapi panduan ada di Mengembangkan Panduan OpenSID.

⚠️ **GitHub.com Fallback** ⚠️