|
| 1 | +# How to Complete the v0.1.0 Release |
| 2 | + |
| 3 | +This guide outlines the steps needed to complete the v0.1.0 release of RAG_Ollama_Mac. |
| 4 | + |
| 5 | +## Current Status |
| 6 | + |
| 7 | +✅ **Completed:** |
| 8 | +- All release documentation created (CHANGELOG.md, RELEASE_NOTES.md) |
| 9 | +- Version file added (src/__version__.py with version 0.1.0) |
| 10 | +- README updated with release information and badges |
| 11 | +- LICENSE (MIT) added |
| 12 | +- CONTRIBUTING.md guidelines added |
| 13 | +- .gitignore configured for Python/ChromaDB projects |
| 14 | +- All code and documentation merged to main branch via PR #1 |
| 15 | + |
| 16 | +❌ **Remaining Tasks:** |
| 17 | + |
| 18 | +1. **Create Git Tag for v0.1.0** |
| 19 | +2. **Publish GitHub Release** |
| 20 | +3. **Verify Release Assets** |
| 21 | + |
| 22 | +--- |
| 23 | + |
| 24 | +## Step-by-Step Release Process |
| 25 | + |
| 26 | +### 1. Create and Push the Git Tag |
| 27 | + |
| 28 | +The tag should be created on the main branch that contains all the release preparation work from PR #1. |
| 29 | + |
| 30 | +```bash |
| 31 | +# Ensure you're on the main branch and up to date |
| 32 | +git checkout main |
| 33 | +git pull origin main |
| 34 | + |
| 35 | +# Create an annotated tag for v0.1.0 |
| 36 | +git tag -a v0.1.0 -m "Release version 0.1.0 |
| 37 | +
|
| 38 | +Initial public release of RAG_Ollama_Mac - a lightweight, private, and customizable retrieval-augmented chatbot running entirely on your Mac. |
| 39 | +
|
| 40 | +Key Features: |
| 41 | +- Local RAG implementation using Ollama |
| 42 | +- PDF document processing and embedding |
| 43 | +- ChromaDB vector storage |
| 44 | +- Streamlit-based interactive chat interface |
| 45 | +- Privacy-focused local execution |
| 46 | +- Support for multiple LLM models |
| 47 | +
|
| 48 | +See RELEASE_NOTES.md and CHANGELOG.md for detailed information." |
| 49 | + |
| 50 | +# Push the tag to GitHub |
| 51 | +git push origin v0.1.0 |
| 52 | +``` |
| 53 | + |
| 54 | +### 2. Create GitHub Release |
| 55 | + |
| 56 | +Once the tag is pushed, create a GitHub Release: |
| 57 | + |
| 58 | +#### Option A: Using GitHub Web Interface |
| 59 | + |
| 60 | +1. Go to https://github.com/eplt/RAG_Ollama_Mac/releases/new |
| 61 | +2. Select the tag: `v0.1.0` |
| 62 | +3. Set Release title: `v0.1.0 - Initial Public Release` |
| 63 | +4. Copy the contents from `RELEASE_NOTES.md` into the release description |
| 64 | +5. Check "Set as the latest release" |
| 65 | +6. Click "Publish release" |
| 66 | + |
| 67 | +#### Option B: Using GitHub CLI (gh) |
| 68 | + |
| 69 | +```bash |
| 70 | +# Create release using the tag and release notes |
| 71 | +gh release create v0.1.0 \ |
| 72 | + --title "v0.1.0 - Initial Public Release" \ |
| 73 | + --notes-file RELEASE_NOTES.md \ |
| 74 | + --latest |
| 75 | +``` |
| 76 | + |
| 77 | +### 3. Verify the Release |
| 78 | + |
| 79 | +After publishing, verify: |
| 80 | + |
| 81 | +1. **GitHub Release Page**: https://github.com/eplt/RAG_Ollama_Mac/releases/tag/v0.1.0 |
| 82 | + - Verify release notes are displayed correctly |
| 83 | + - Check that it's marked as "Latest" |
| 84 | + - Ensure the tag points to the correct commit |
| 85 | + |
| 86 | +2. **README Badges**: Visit https://github.com/eplt/RAG_Ollama_Mac |
| 87 | + - Version badge should show v0.1.0 |
| 88 | + - License badge should show MIT |
| 89 | + |
| 90 | +3. **Changelog Links**: Verify the link in CHANGELOG.md |
| 91 | + - The link `[0.1.0]: https://github.com/eplt/RAG_Ollama_Mac/releases/tag/v0.1.0` should work |
| 92 | + |
| 93 | +4. **Clone and Test**: Test that users can clone and use the release |
| 94 | + ```bash |
| 95 | + git clone https://github.com/eplt/RAG_Ollama_Mac.git |
| 96 | + cd RAG_Ollama_Mac |
| 97 | + git checkout v0.1.0 |
| 98 | + # Verify version |
| 99 | + python3 -c "import sys; sys.path.insert(0, 'src'); from __version__ import __version__; print(__version__)" |
| 100 | + # Should output: 0.1.0 |
| 101 | + ``` |
| 102 | + |
| 103 | +--- |
| 104 | + |
| 105 | +## Post-Release Tasks (Optional) |
| 106 | + |
| 107 | +### Announce the Release |
| 108 | + |
| 109 | +1. **Update Repository Description**: Ensure the GitHub repository description is accurate |
| 110 | +2. **Social Media**: Share on relevant platforms if desired |
| 111 | +3. **Documentation**: Consider adding a "Releases" or "Versions" section to documentation |
| 112 | + |
| 113 | +### Monitor Initial Feedback |
| 114 | + |
| 115 | +1. Watch for issues reported by early users |
| 116 | +2. Be prepared to create a patch release (v0.1.1) if critical bugs are found |
| 117 | +3. Document any known issues in the GitHub Issues or README |
| 118 | + |
| 119 | +--- |
| 120 | + |
| 121 | +## Rollback Procedure (If Needed) |
| 122 | + |
| 123 | +If you need to rollback or redo the release: |
| 124 | + |
| 125 | +```bash |
| 126 | +# Delete the tag locally |
| 127 | +git tag -d v0.1.0 |
| 128 | + |
| 129 | +# Delete the tag from GitHub |
| 130 | +git push origin :refs/tags/v0.1.0 |
| 131 | + |
| 132 | +# Delete the GitHub Release via web interface or CLI |
| 133 | +gh release delete v0.1.0 |
| 134 | +``` |
| 135 | + |
| 136 | +Then you can make corrections and recreate the release. |
| 137 | + |
| 138 | +--- |
| 139 | + |
| 140 | +## Next Release (v0.1.1 or v0.2.0) |
| 141 | + |
| 142 | +For future releases: |
| 143 | + |
| 144 | +1. Update `src/__version__.py` with new version number |
| 145 | +2. Add new section to `CHANGELOG.md` with date and changes |
| 146 | +3. Update or create new `RELEASE_NOTES.md` for the release |
| 147 | +4. Follow the same tagging and release process above |
| 148 | + |
| 149 | +--- |
| 150 | + |
| 151 | +## Additional Notes |
| 152 | + |
| 153 | +- **Semantic Versioning**: This project follows [SemVer](https://semver.org/) |
| 154 | + - MAJOR.MINOR.PATCH (e.g., 0.1.0) |
| 155 | + - Increment MAJOR for breaking changes |
| 156 | + - Increment MINOR for new features |
| 157 | + - Increment PATCH for bug fixes |
| 158 | + |
| 159 | +- **Release Artifacts**: No binary artifacts are needed for this release as it's a Python project distributed via Git |
| 160 | + |
| 161 | +- **Documentation**: All release documentation is already in place: |
| 162 | + - `README.md` - Main project documentation |
| 163 | + - `CHANGELOG.md` - Version history in Keep a Changelog format |
| 164 | + - `RELEASE_NOTES.md` - Detailed v0.1.0 release information |
| 165 | + - `CONTRIBUTING.md` - Contribution guidelines |
| 166 | + - `LICENSE` - MIT License text |
| 167 | + |
| 168 | +--- |
| 169 | + |
| 170 | +## Questions or Issues? |
| 171 | + |
| 172 | +If you encounter any issues during the release process, refer to: |
| 173 | +- [GitHub Docs - Managing Releases](https://docs.github.com/en/repositories/releasing-projects-on-github) |
| 174 | +- [GitHub CLI Release Docs](https://cli.github.com/manual/gh_release_create) |
0 commit comments