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 : 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:
- 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. - 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
.
- Checkout ke
bug-fix
. Lakukan update tema dan package dengan menjalankancomposer update --no-dev
jika ada perubahan. - Gabungkan branch
bug-fix
kerilis-dev
. - Lakukan update tema dan package dengan menjalankan
composer update --no-dev
. - 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. - Lengkapi catatan rilis di file
catatan_rilis.md
. - Di array
$versionMigrate
di filedonjo-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)
- Buat file migrasi baru, misalnya :
migrasi_2106_ke_2107.php
danmigrasi_premium_2107.php
dan sesuaikan isi migrasinya. - Lakukan testing install baru. Lakukan testing upgrade dari rilis sebelumnya dan kemudian menggunakan menu Database > Migrasi DB
- Kirim semua perubahan sebagai
pull request
supaya bisa digabungkan ke branchrilis-dev
oleh pengawas rilis. - 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. -
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). - 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 branchbeta
. - Update situs demo https://beta.opensid.or.id menggunakan branch
rilis-dev
. Petunjuk mengupdate website demo ini ada di Memasang Demo di VPS. - Buat rilis premium untuk publik https://github.com/OpenSID/OpenSID/wiki/Rilis-Premium-Repositori-Publik
Pull request yang dikirim pelaksana rilis perlu diperiksa oleh pengawas rilis sebelum digabung ke rilis. Proses review ini mencakup:
- Memeriksa setiap file yg diubah.
- Memasang dan menjalankan. Periksa migrasi berjalan semestinya dan versi yang ditampilkan benar.
- 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
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
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.
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.