ci: add GitHub Actions workflows with semantic-release auto-versioning

This commit is contained in:
asepharyana
2026-07-13 06:31:08 +07:00
parent 5334c2501b
commit 0512139f03
7 changed files with 245 additions and 1 deletions
+56
View File
@@ -316,6 +316,62 @@ cargo build --release
```
---
## Development
### Commit Convention
Project ini menggunakan **Conventional Commits** untuk otomatis menentukan versi rilis (melalui semantic-release).
Format:
```
<type>(<scope>): <description>
[optional body]
[optional footer]
```
**`<type>` — menentukan bump version:**
| Type | Bump | Keterangan |
|-------------|---------|-------------------------------------------|
| `feat` | minor | Fitur baru |
| `fix` | patch | Perbaikan bug |
| `chore` | patch | Tugas maintenance, refactor ringan |
| `docs` | patch | Perubahan dokumentasi |
| `refactor` | patch | Refactor kode (tanpa perubahan fungsional)|
| `test` | patch | Penambahan atau perbaikan test |
| `style` | patch | Perubahan formatting, whitespace, dll |
| `perf` | patch | Optimasi performa |
| `ci` | patch | Perubahan CI/CD |
**`BREAKING CHANGE`** pada body commit → **major** (apa pun typenya).
Contoh:
```
feat(agent): add workspace-aware file search
Implement context-aware search scoped to current workspace directory.
BREAKING CHANGE: search results now filter by workspace scope.
```
```
fix(ipc): handle partial frame on unix socket reconnect
```
```
chore: update rustls to 0.23
```
### Release Workflow
Push ke branch `main` akan memicu:
1. **CI** — `cargo build --release` + `cargo test`
2. **Semantic Release** — analisis commit → update `Cargo.toml` + `CHANGELOG.md` → git tag → GitHub Release dengan binary
---
## License