Creating GitHub Release v1.0.0 - Step-by-Step Guide
Prerequisites
[ ] All changes committed to git
[ ] Tests passing
[ ] Documentation complete
[ ] CHANGELOG.md created
[ ] Version numbers updated
Step 1: Commit All Changes
cd /path/to/prism-studio # Your local repository path
# Add all new files
git add schemas/stable/
git add schemas/v0.1/
git add docs/SCHEMA_VERSIONING*.md
git add static/img/MRI_Lab_Logo.png
git add CHANGELOG.md
git add RELEASE_NOTES_v1.0.0.md
# Add modified files
git add README.md
git add prism.py
git add src/schema_manager.py
git add src/runner.py
git add prism-studio.py
git add templates/base.html
git add templates/index.html
git add templates/results.html
# Commit with descriptive message
git commit -m "Release v1.0.0: Schema versioning system and major improvements
- Add Docker-like schema versioning (stable, v0.1)
- Add --schema-version CLI flag
- Add schema version selector to web interface
- Add comprehensive documentation suite
- Improve logo display in web interface
- Update README with new features
- Add CHANGELOG and release notes
This is the first major release with production-ready features."
# Push to GitHub
git push origin main
Step 2: Create Git Tag
# Create annotated tag
git tag -a v1.0.0 -m "Release v1.0.0: First Major Release
🎉 Major Features:
- Schema versioning system (Docker-like)
- Enhanced web interface with version selection
- Comprehensive validation for psychological datasets
- Complete documentation suite
See CHANGELOG.md for full details."
# Push tag to GitHub
git push origin v1.0.0
Step 3: Create GitHub Release
Option A: Using GitHub Web Interface (Recommended)
Navigate to your repository
Go to: https://github.com/MRI-Lab-Graz/prism-studio
Click on “Releases”
Located in the right sidebar or under “Code” tab
Click “Draft a new release”
Fill in Release Information:
Tag version:
v1.0.0(select existing tag)Release title:
v1.0.0 - First Major Release 🎉Description: (Copy from RELEASE_NOTES_v1.0.0.md or use this):
# PRISM v1.0.0 - First Major Release 🎉 We're excited to announce the first major release of **PRISM**! ## 🌟 Highlights ### Schema Versioning System - ✅ Docker-like versioning (`stable`, `v0.1`, etc.) - ✅ CLI flag: `--schema-version` - ✅ Web interface dropdown selector - ✅ Version tracking in results ### Features - ✅ Multi-modal validation (image, movie, audio, EEG, eye-tracking, behavior, physiological) - ✅ BIDS-inspired validation - ✅ Web interface & CLI - ✅ Complete documentation ## 📦 Quick Start ```bash git clone https://github.com/MRI-Lab-Graz/prism-studio.git cd prism-studio ./setup.sh python prism-studio.py
📚 Documentation
🔗 Links
Version: 1.0.0
Release Date: October 9, 2025
Status: Production Ready ✅Set as latest release: ✅ Check “Set as the latest release”
Click “Publish release”
Option B: Using GitHub CLI (gh)
# Install GitHub CLI if needed
# brew install gh # macOS
# See: https://cli.github.com/
# Authenticate
gh auth login
# Create release
gh release create v1.0.0 \
--title "v1.0.0 - First Major Release 🎉" \
--notes-file RELEASE_NOTES_v1.0.0.md \
--latest
# Or with inline notes
gh release create v1.0.0 \
--title "v1.0.0 - First Major Release 🎉" \
--notes "See CHANGELOG.md and RELEASE_NOTES_v1.0.0.md for details." \
--latest
Step 4: Verify Release
Check release page:
https://github.com/MRI-Lab-Graz/prism-studio/releases/tag/v1.0.0
Verify:
[ ] Release shows correct version (v1.0.0)
[ ] Title is correct
[ ] Description is formatted properly
[ ] Tag is linked correctly
[ ] Marked as “Latest release”
[ ] Release date is correct
Test download:
# Test that release can be downloaded curl -L https://github.com/MRI-Lab-Graz/prism/archive/refs/tags/v1.0.0.tar.gz -o test.tar.gz tar -tzf test.tar.gz | head rm test.tar.gz
Step 5: Post-Release Tasks
Update Documentation Links
If needed, update any documentation that references the repository:
# Check for any hardcoded version numbers
grep -r "0\." docs/
grep -r "beta" docs/
Announce the Release
Update README badges (if you have any):
Version badge
Release badge
License badge
Announce on:
Lab website
Mailing lists
Social media
Relevant forums
Create announcement template:
🎉 PRISM v1.0.0 Released! We're excited to announce the first major release of PRISM, a BIDS-inspired validation tool for psychological research datasets. New features: - Schema versioning system - Enhanced web interface - Comprehensive documentation Download: https://github.com/MRI-Lab-Graz/prism/releases/tag/v1.0.0 Docs: https://github.com/MRI-Lab-Graz/prism/tree/main/docs #OpenScience #ResearchTools #DataValidation
Monitor and Support
[ ] Watch for issues on GitHub
[ ] Respond to questions
[ ] Monitor usage
[ ] Gather feedback
Troubleshooting
If Tag Already Exists
# Delete local tag
git tag -d v1.0.0
# Delete remote tag
git push origin --delete v1.0.0
# Recreate tag
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0
If Release Needs Update
Go to release page on GitHub
Click “Edit release”
Make changes
Click “Update release”
If You Need to Undo
# Delete release (via GitHub web interface or gh CLI)
gh release delete v1.0.0
# Delete tag
git tag -d v1.0.0
git push origin --delete v1.0.0
Quick Command Summary
# Complete release workflow
cd /path/to/prism-studio # Your local repository path
# 1. Commit everything
git add .
git commit -m "Release v1.0.0: First major release"
git push origin main
# 2. Create and push tag
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0
# 3. Create release on GitHub (web interface or gh CLI)
gh release create v1.0.0 \
--title "v1.0.0 - First Major Release 🎉" \
--notes-file RELEASE_NOTES_v1.0.0.md \
--latest
# 4. Verify
git tag -l
git log --oneline -5
Checklist
Pre-Release
[ ] All tests passing
[ ] Documentation updated
[ ] CHANGELOG.md created
[ ] RELEASE_NOTES created
[ ] Version numbers correct
[ ] All files committed
Release
[ ] Changes committed to main
[ ] Git tag created (v1.0.0)
[ ] Tag pushed to GitHub
[ ] GitHub release created
[ ] Release notes added
[ ] Marked as latest release
Post-Release
[ ] Release verified
[ ] Download tested
[ ] Documentation links work
[ ] Announcement prepared
[ ] Team notified
Next Steps
After v1.0.0 is released:
Start planning v1.1.0
Gather feedback
Plan new features
Update roadmap
Maintain v1.0.x
Bug fixes as needed
Security updates
Documentation improvements
Future versions
v1.1.0 - Minor features
v1.2.0 - Additional modalities
v2.0.0 - Breaking changes (if needed)
Remember: Always test locally before creating a release!