Tindakan GitHub untuk menghasilkan changelog secara otomatis sesuai dengan komitmen konvensional.
Jangan ragu untuk mengirimkan permintaan tarik atau masalah, tetapi pastikan untuk mengikuti templat.
Selamat datang kontributor untuk meningkatkan proyek ini bersama -sama!
Jika Anda suka ini, tolong beri saya bintang !
Buat file alur kerja seperti .github/workflows/changelog.yml (Anda dapat menemukannya di repo ini)
name : Generate changelog
on :
release :
types : [created, edited]
jobs :
generate-changelog :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
with :
fetch-depth : 0
- uses : BobAnkh/[email protected]
with :
REPO_NAME : ' <YourUserName>/<YourRepoName> '
ACCESS_TOKEN : ${{secrets.GITHUB_TOKEN}}
PATH : ' CHANGELOG.md '
COMMIT_MESSAGE : ' docs(CHANGELOG): update release notes '
TYPE : ' feat:Feature,fix:Bug Fixes,docs:Documentation,refactor:Refactor,perf:Performance Improvements 'CATATAN: Menghasilkan perubahan changelog semua riwayat komit sehingga Anda harus mengatur
fetch-depth: 0denganactions/checkoutCatatan: Log komit dimulai dengan
docs(changelog)ataudoc(CHANGELOG)tidak akan ditambahkan ke changelog
Silakan lihat catatan di bawah tabel untuk cara mengatur beberapa parameter .
| Input | Keterangan | Diperlukan | Bawaan |
|---|---|---|---|
| Repo_name | Nama Repositori | TIDAK | '' Yang berarti repositori saat ini |
| Access_token | Token Akses GitHub. Lihat Catatan 1 | Ya | Anda bisa melewati ${{secrets.GITHUB_TOKEN}} |
| JALUR | Jalur ke file Anda | TIDAK | CHANGELOG.md |
| CABANG | Cabang untuk memperbarui file yang ditentukan dalam path | TIDAK | '' yang berarti cabang default |
| Pull_request | Buka permintaan tarik baru jika diatur ke nama cabang target. Lihat catatan 2 | TIDAK | '' yang berarti tidak membuka permintaan tarik secara default |
| Commit_message | Melakukan pesan | TIDAK | docs(CHANGELOG): update release notes |
| JENIS | Jenis komitmen yang ingin Anda tambahkan ke changelog. Lihat Catatan 3 | TIDAK | 'feat:Feature,fix:Fix' |
| Komitter | Komitter yang ingin Anda gunakan untuk memperbarui file. Lihat catatan 4 | TIDAK | '' yang berarti komitter default |
| Default_scope | Ruang lingkup default untuk menahan semua komitmen yang tidak ditopang | TIDAK | general |
| Suppress_unscoped | Apakah akan mengecualikan komitmen yang tidak ditopang | TIDAK | PALSU |
| Yang tidak dirilis_commits | Apakah akan memasukkan komitmen yang belum dirilis dalam changelog | TIDAK | PALSU |
| Regenerate_count | Regenerate n Changelog Rilis Terbaru. Lihat catatan 5 | TIDAK | 0 |
| Ganti_empty_release_info | Ganti info rilis kosong dengan beberapa kata | TIDAK | PALSU |
Catatan 1 : ${{secrets.GITHUB_TOKEN}} memiliki batas tarif yang lebih kecil dari token akses pribadi (PAT), jadi jika Anda memiliki lebih banyak permintaan (komit, PR, dll.) Atau menghadapi 403 keliru batas-batas, gunakan Pat sebagai gantinya.
Catatan 2 : PULL_REQUEST harus digunakan dengan BRANCH bersama -sama, keduanya harus dilengkapi dengan nama cabang yang valid jika Anda ingin membuka permintaan tarik . GA akan membuka permintaan tarik dari BRANCH (cabang kepala) ke PULL_REQUEST (cabang dasar). Tinggalkan PULL_REQUEST blank jika Anda tidak ingin membuka permintaan tarik.
Catatan 3 : Anda dapat mendefinisikan kata kunci yang terdeteksi dari pesan komit dan kata yang sesuai yang disajikan dalam changelog dalam TYPE input. Misalnya, define feat:Feature,fix:Bug Fixes akan memiliki pesan komit seperti feat(main): add new option yang akan disajikan di changelog di bawah Feature bagian dan memiliki pesan komit seperti fix(server): adjust rendering yang akan disajikan dalam changelog di bawah bagian Bug Fixes .
Catatan 4 : COMMITTER harus dalam format: 'author <author@email>'
Catatan 5 : Semua rilis tidak ada dalam changelog tentu saja akan ditambahkan ke changelog. Gunakan parameter ini untuk meregenerasi changelog N Rilis Terakhir. Diatur default ke 0 berarti hanya menghasilkan untuk rilis baru. Anda dapat mengatur ke -1 untuk meregenerasi semua rilis.
Catatan 6 : Anda dapat menggunakan format di bawah ini untuk menghindari beberapa baris dalam deskripsi rilis untuk muncul di Changelog:
<!-- HIDE IN CHANGELOG BEGIN --> See CHANGELOG for more details. This line will be hided when changelog is generated. <!-- HIDE IN CHANGELOG END -->
@Bobankh
Anda harus mengikuti kode perilaku kami.
Lihat Pedoman yang Berkontribusi untuk Konvensi yang Berkontribusi.
Pastikan untuk lulus semua tes sebelum mengirimkan kode Anda. Anda dapat melakukan pytest -ra di direktori root untuk menjalankan semua tes.
Anda dapat menggunakan mode lokal saat mengembangkannya di mesin lokal Anda, berikut adalah info bantuan baris perintah:
usage: main.py [-h] [-m MODE] [-f FILE] [-o OUTPUT] [-t TOKEN]
optional arguments:
-h, --help show this help message and exit
-m MODE, --mode MODE choose to use local-dev mode or on github action mode.
Valid values are 'local' or 'github'
-f FILE, --file FILE configuration file to read from when running local-dev
mode
-o OUTPUT, --output OUTPUT
output file when running local-dev mode
-t TOKEN, --token TOKEN
Github Access TokenYixin Shen | Jonathan Mang | Sebastian Rühl |
Apache-2.0 © Bobankh