QUICK_START_RELEASES - Alteriom/painlessMesh GitHub Wiki
Quick Start: Create Missing Releases
TL;DR - Create v1.7.8 and v1.7.9 GitHub Releases
Prerequisites
# Install GitHub CLI if not already installed
# macOS: brew install gh
# Linux: https://github.com/cli/cli/blob/trunk/docs/install_linux.md
# Windows: https://github.com/cli/cli#windows
# Authenticate (if not already)
gh auth login
Execute (One Command)
./scripts/create-missing-releases.sh
That's it! The script will:
- ✅ Extract release notes from CHANGELOG.md
- ✅ Create tags v1.7.8 and v1.7.9
- ✅ Push tags to GitHub
- ✅ Create GitHub releases with proper notes
Verify
# Check releases were created
gh release list --repo Alteriom/painlessMesh
# Should show:
# v1.7.9 painlessMesh v1.7.9 Latest
# v1.7.8 painlessMesh v1.7.8
Optional: Publish Packages
# If NPM/GitHub Packages weren't published automatically
gh workflow run manual-publish.yml --repo Alteriom/painlessMesh
Alternative Methods
Manual via GitHub CLI
# v1.7.8
awk '/^## \[1\.7\.8\]/ {flag=1; next} /^## \[/ {flag=0} flag' CHANGELOG.md > /tmp/notes_1.7.8.txt
git tag -a v1.7.8 -m "painlessMesh v1.7.8" && git push origin v1.7.8
gh release create v1.7.8 --title "painlessMesh v1.7.8" --notes-file /tmp/notes_1.7.8.txt
# v1.7.9
awk '/^## \[1\.7\.9\]/ {flag=1; next} /^## \[/ {flag=0} flag' CHANGELOG.md > /tmp/notes_1.7.9.txt
git tag -a v1.7.9 -m "painlessMesh v1.7.9" && git push origin v1.7.9
gh release create v1.7.9 --title "painlessMesh v1.7.9" --notes-file /tmp/notes_1.7.9.txt
Manual via Web UI
- Go to: https://github.com/Alteriom/painlessMesh/releases/new
- For v1.7.8:
- Tag:
v1.7.8 - Title:
painlessMesh v1.7.8 - Description: Copy from CHANGELOG.md section
[1.7.8](lines 58-135) - Click "Publish release"
- Tag:
- For v1.7.9:
- Tag:
v1.7.9 - Title:
painlessMesh v1.7.9 - Description: Copy from CHANGELOG.md section
[1.7.9](lines 22-56) - Click "Publish release"
- Tag:
Future Releases (Prevention)
Always use this workflow to ensure releases are created properly:
# 1. Update version
./scripts/bump-version.sh patch # or minor, major
# 2. Update CHANGELOG.md with your changes
# 3. Validate (optional but recommended)
./scripts/release-agent.sh
# 4. Commit and push (triggers automatic release)
git add library.properties library.json package.json CHANGELOG.md
git commit -m "release: vX.Y.Z - Brief description"
git push origin main
# 5. Watch GitHub Actions to confirm
# https://github.com/Alteriom/painlessMesh/actions/workflows/release.yml
The workflow automatically creates:
- ✅ Git tag
- ✅ GitHub release
- ✅ NPM package
- ✅ GitHub Packages
- ✅ PlatformIO Library
- ✅ Wiki updates
Need More Details?
- Complete Documentation:
docs/CREATE_MISSING_RELEASES.md - Release Guide:
RELEASE_GUIDE.md - Scripts Reference:
scripts/README.md