docs: add releasing guide (#177)
Documents the automated release workflow: - How to tag and push releases - Pre-release detection (alpha/beta/rc) - Versioning strategy (semver) - Release checklist - Links to npm publish tracking issue (#174) Written by Cameron ◯ Letta Code "Ship it." - GitHub
This commit is contained in:
16
README.md
16
README.md
@@ -284,6 +284,22 @@ npm run build
|
|||||||
lettabot server
|
lettabot server
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Releases
|
||||||
|
|
||||||
|
Releases are automated via GitHub Actions. When a version tag is pushed, the workflow builds, tests, generates release notes from merged PRs, and creates a GitHub Release.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Create a release
|
||||||
|
git tag v0.2.0
|
||||||
|
git push origin v0.2.0
|
||||||
|
|
||||||
|
# Create a pre-release (alpha/beta/rc are auto-detected)
|
||||||
|
git tag v0.2.0-alpha.1
|
||||||
|
git push origin v0.2.0-alpha.1
|
||||||
|
```
|
||||||
|
|
||||||
|
See all releases: [GitHub Releases](https://github.com/letta-ai/lettabot/releases)
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
### WhatsApp
|
### WhatsApp
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ LettaBot is a multi-channel AI assistant powered by [Letta](https://letta.com) t
|
|||||||
- [Scheduling Tasks](./cron-setup.md) - Cron jobs and heartbeats
|
- [Scheduling Tasks](./cron-setup.md) - Cron jobs and heartbeats
|
||||||
- [Gmail Pub/Sub](./gmail-pubsub.md) - Email notifications integration
|
- [Gmail Pub/Sub](./gmail-pubsub.md) - Email notifications integration
|
||||||
- [Railway Deployment](./railway-deploy.md) - Deploy to Railway
|
- [Railway Deployment](./railway-deploy.md) - Deploy to Railway
|
||||||
|
- [Releasing](./releasing.md) - How to create releases
|
||||||
|
|
||||||
### Channel Setup
|
### Channel Setup
|
||||||
- [Telegram Setup](./telegram-setup.md) - BotFather token setup
|
- [Telegram Setup](./telegram-setup.md) - BotFather token setup
|
||||||
|
|||||||
72
docs/releasing.md
Normal file
72
docs/releasing.md
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
# Releasing
|
||||||
|
|
||||||
|
LettaBot uses GitHub Releases with automated release notes.
|
||||||
|
|
||||||
|
## How to Release
|
||||||
|
|
||||||
|
### 1. Tag the commit
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git checkout main
|
||||||
|
git pull origin main
|
||||||
|
git tag v0.2.0
|
||||||
|
git push origin v0.2.0
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. What happens automatically
|
||||||
|
|
||||||
|
The [release workflow](../.github/workflows/release.yml) runs on every `v*` tag push:
|
||||||
|
|
||||||
|
1. **Build gate** - `npm ci && npm run build`
|
||||||
|
2. **Test gate** - `npm run test:run` (all unit tests must pass)
|
||||||
|
3. **Release notes** - Auto-generated from merged PRs since the last tag
|
||||||
|
4. **GitHub Release** - Created with the notes, linked to the tag
|
||||||
|
|
||||||
|
### 3. Pre-releases
|
||||||
|
|
||||||
|
Tags containing `alpha`, `beta`, or `rc` are automatically marked as pre-release:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git tag v0.2.0-alpha.1 # marked as pre-release
|
||||||
|
git tag v0.2.0-beta.2 # marked as pre-release
|
||||||
|
git tag v0.2.0-rc.1 # marked as pre-release
|
||||||
|
git tag v0.2.0 # marked as stable release
|
||||||
|
```
|
||||||
|
|
||||||
|
## Versioning
|
||||||
|
|
||||||
|
We follow [Semantic Versioning](https://semver.org/):
|
||||||
|
|
||||||
|
- **Major** (`v1.0.0`) - Breaking changes to config format, channel API, or CLI
|
||||||
|
- **Minor** (`v0.2.0`) - New features, new channels, new config options
|
||||||
|
- **Patch** (`v0.1.1`) - Bug fixes, dependency updates, docs
|
||||||
|
|
||||||
|
While in `0.x`, minor versions may include breaking changes.
|
||||||
|
|
||||||
|
## Release Checklist
|
||||||
|
|
||||||
|
Before tagging a release:
|
||||||
|
|
||||||
|
- [ ] All PRs for this release are merged to `main`
|
||||||
|
- [ ] `npm run build` passes locally
|
||||||
|
- [ ] `npm run test:run` passes locally
|
||||||
|
- [ ] README and docs are up to date
|
||||||
|
- [ ] No known critical bugs (check open issues)
|
||||||
|
|
||||||
|
## npm Publishing
|
||||||
|
|
||||||
|
Not yet available. Tracked in [#174](https://github.com/letta-ai/lettabot/issues/174).
|
||||||
|
|
||||||
|
Currently, users install from source:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/letta-ai/lettabot.git
|
||||||
|
cd lettabot
|
||||||
|
git checkout v0.2.0 # or latest tag
|
||||||
|
npm install && npm run build && npm link
|
||||||
|
```
|
||||||
|
|
||||||
|
## Viewing Releases
|
||||||
|
|
||||||
|
- [All releases](https://github.com/letta-ai/lettabot/releases)
|
||||||
|
- [Latest release](https://github.com/letta-ai/lettabot/releases/latest)
|
||||||
Reference in New Issue
Block a user