Skip to content

Commit 5295eb6

Browse files
authored
Merge pull request #40 from meilisearch/feature/document-release-process-and-bump-version
Release v0.5.0: Bump version and document release process
2 parents 0c5b9a9 + 5b44ab7 commit 5295eb6

File tree

2 files changed

+99
-1
lines changed

2 files changed

+99
-1
lines changed

README.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ npx @modelcontextprotocol/inspector python -m src.meilisearch_mcp
202202
### Index Management
203203
- `create-index`: Create a new index with optional primary key
204204
- `list-indexes`: List all available indexes
205+
- `delete-index`: Delete an existing index and all its documents
205206
- `get-index-metrics`: Get detailed metrics for a specific index
206207

207208
### Document Operations
@@ -287,6 +288,103 @@ git push origin feature/your-feature-name
287288
- Test both success and error cases
288289
- Ensure Meilisearch is running before running tests
289290

291+
## Release Process
292+
293+
This project uses automated versioning and publishing to PyPI. The release process is designed to be simple and automated.
294+
295+
### How Releases Work
296+
297+
1. **Automated Publishing**: When the version number in `pyproject.toml` changes on the `main` branch, a GitHub Action automatically:
298+
- Builds the Python package
299+
- Publishes it to PyPI using trusted publishing
300+
- Creates a new release on GitHub
301+
302+
2. **Version Detection**: The workflow compares the current version in `pyproject.toml` with the previous commit to detect changes
303+
304+
3. **PyPI Publishing**: Uses PyPA's official publish action with trusted publishing (no manual API keys needed)
305+
306+
### Creating a New Release
307+
308+
To create a new release, follow these steps:
309+
310+
#### 1. Determine Version Number
311+
312+
Follow [Semantic Versioning](https://semver.org/) (MAJOR.MINOR.PATCH):
313+
314+
- **PATCH** (e.g., 0.4.0 → 0.4.1): Bug fixes, documentation updates, minor improvements
315+
- **MINOR** (e.g., 0.4.0 → 0.5.0): New features, new MCP tools, significant enhancements
316+
- **MAJOR** (e.g., 0.5.0 → 1.0.0): Breaking changes, major API changes
317+
318+
#### 2. Update Version and Create PR
319+
320+
```bash
321+
# 1. Create a branch from latest main
322+
git checkout main
323+
git pull origin main
324+
git checkout -b release/v0.5.0
325+
326+
# 2. Update version in pyproject.toml
327+
# Edit the version = "0.4.0" line to your new version
328+
329+
# 3. Commit and push
330+
git add pyproject.toml
331+
git commit -m "Bump version to 0.5.0"
332+
git push origin release/v0.5.0
333+
334+
# 4. Create PR and get it reviewed/merged
335+
gh pr create --title "Release v0.5.0" --body "Bump version for release"
336+
```
337+
338+
#### 3. Merge to Main
339+
340+
Once the PR is approved and merged to `main`, the GitHub Action will automatically:
341+
342+
1. Detect the version change
343+
2. Build the package
344+
3. Publish to PyPI at https://pypi.org/p/meilisearch-mcp
345+
4. Make the new version available via `pip install meilisearch-mcp`
346+
347+
#### 4. Verify Release
348+
349+
After merging, verify the release:
350+
351+
```bash
352+
# Check GitHub Action status
353+
gh run list --workflow=publish.yml
354+
355+
# Verify on PyPI (may take a few minutes)
356+
pip index versions meilisearch-mcp
357+
358+
# Test installation of new version
359+
pip install --upgrade meilisearch-mcp
360+
```
361+
362+
### Release Workflow File
363+
364+
The automated release is handled by `.github/workflows/publish.yml`, which:
365+
366+
- Triggers on pushes to `main` branch
367+
- Checks if `pyproject.toml` version changed
368+
- Uses Python 3.10 and official build tools
369+
- Publishes using trusted publishing (no API keys required)
370+
- Provides verbose output for debugging
371+
372+
### Troubleshooting Releases
373+
374+
**Release didn't trigger**: Check that the version in `pyproject.toml` actually changed between commits
375+
376+
**Build failed**: Check the GitHub Actions logs for Python package build errors
377+
378+
**PyPI publish failed**: Verify the package name and that trusted publishing is configured properly
379+
380+
**Version conflicts**: Ensure the new version number hasn't been used before on PyPI
381+
382+
### Development vs Production Versions
383+
384+
- **Development**: Install from source using `pip install -e .`
385+
- **Production**: Install from PyPI using `pip install meilisearch-mcp`
386+
- **Specific version**: Install using `pip install meilisearch-mcp==0.5.0`
387+
290388
## License
291389

292390
MIT

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "meilisearch-mcp"
3-
version = "0.4.0"
3+
version = "0.5.0"
44
description = "MCP server for Meilisearch"
55
requires-python = ">=3.10"
66
dependencies = [

0 commit comments

Comments
 (0)