Skip to content

Commit fe02137

Browse files
committed
Add GitHub release creation guide
1 parent d13d4ca commit fe02137

1 file changed

Lines changed: 155 additions & 0 deletions

File tree

CREATE_RELEASE.md

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# Creating GitHub Releases
2+
3+
**Author:** Adrian Johnson (adrian207@gmail.com)
4+
**Version:** 1.0.0
5+
**Last Updated:** December 2024
6+
7+
## 🎯 Overview
8+
9+
This guide explains how to create and manage GitHub releases for the Windows Server PowerShell Solutions Suite.
10+
11+
## 🏷️ Creating a Release via GitHub Web UI
12+
13+
### **Step 1: Access Releases Page**
14+
1. Navigate to your repository on GitHub
15+
2. Click on **"Releases"** in the right sidebar
16+
3. Click **"Create a new release"**
17+
18+
### **Step 2: Fill Release Information**
19+
- **Tag version:** Select or create tag (e.g., `v1.0.0`)
20+
- **Release title:** `Release v1.0.0` or descriptive name
21+
- **Description:** Copy content from `CHANGELOG.md` for the version
22+
23+
### **Step 3: Configure Release Settings**
24+
- **Pre-release:** Uncheck for stable releases
25+
- **Set as latest release:** Check for major/minor releases
26+
27+
### **Step 4: Publish Release**
28+
Click **"Publish release"**
29+
30+
## 🤖 Creating a Release via GitHub CLI
31+
32+
### **Install GitHub CLI (if needed)**
33+
```powershell
34+
# Windows
35+
winget install GitHub.cli
36+
37+
# Or download from: https://cli.github.com/
38+
```
39+
40+
### **Authenticate**
41+
```powershell
42+
gh auth login
43+
```
44+
45+
### **Create Release from Tag**
46+
```powershell
47+
# Create release from existing tag
48+
gh release create v1.0.0 --title "Release v1.0.0" --notes "Initial production release"
49+
50+
# Or with file for notes
51+
gh release create v1.0.0 --title "Release v1.0.0" --notes-file CHANGELOG.md
52+
```
53+
54+
### **Create Pre-release**
55+
```powershell
56+
# Release Candidate
57+
gh release create v1.1.0-rc.1 --title "Release Candidate v1.1.0-rc.1" --prerelease
58+
59+
# Beta
60+
gh release create v1.2.0-beta.1 --title "Beta Release v1.2.0-beta.1" --prerelease
61+
62+
# Alpha
63+
gh release create v2.0.0-alpha.1 --title "Alpha Release v2.0.0-alpha.1" --prerelease
64+
```
65+
66+
## 📦 Automated Release via GitHub Actions
67+
68+
### **Manual Trigger**
69+
1. Go to **Actions** tab
70+
2. Select **Release Management** workflow
71+
3. Click **"Run workflow"**
72+
4. Enter version number (e.g., `1.0.0`)
73+
5. Select release type (stable, rc, beta, alpha)
74+
6. Waiting for the workflow to complete
75+
76+
### **Trigger via Git Tag**
77+
```bash
78+
# Create and push tag
79+
git tag -a v1.0.1 -m "Release version 1.0.1"
80+
git push origin v1.0.1
81+
82+
# GitHub Actions will automatically create the release
83+
```
84+
85+
## 📝 Best Practices
86+
87+
### **Release Notes Format**
88+
```markdown
89+
## 🎉 Release Name
90+
91+
### ✨ What's New
92+
- Feature 1
93+
- Feature 2
94+
95+
### 🐛 Bug Fixes
96+
- Fix 1
97+
- Fix 2
98+
99+
### 🔒 Security Updates
100+
- Security update 1
101+
102+
### 📚 Documentation
103+
- Updated documentation
104+
105+
### 🔗 Links
106+
- Full Changelog: [link]
107+
- Documentation: [link]
108+
```
109+
110+
### **Version Numbering**
111+
- **Major:** Breaking changes
112+
- **Minor:** New features (backward compatible)
113+
- **Patch:** Bug fixes (backward compatible)
114+
- **Pre-release:** Add `-rc.1`, `-beta.1`, or `-alpha.1`
115+
116+
### **Timing**
117+
- **Major releases:** Every 12-18 months
118+
- **Minor releases:** Every 2-3 months
119+
- **Patch releases:** As needed (typically monthly)
120+
121+
## 📊 Release Checklist
122+
123+
Before creating a release:
124+
125+
- [ ] Update `CHANGELOG.md` with all changes
126+
- [ ] Update `version.json` with new version
127+
- [ ] Update all README files with new version
128+
- [ ] Test all changes thoroughly
129+
- [ ] Run all test suites
130+
- [ ] Check for linter errors
131+
- [ ] Review documentation accuracy
132+
- [ ] Create Git tag with proper annotation
133+
- [ ] Push tag to GitHub
134+
- [ ] Create GitHub release
135+
- [ ] Verify release notes are complete
136+
137+
## 🔗 Additional Resources
138+
139+
- [CHANGELOG.md](CHANGELOG.md) - Version history
140+
- [VERSIONING.md](VERSIONING.md) - Versioning policy
141+
- [version.json](version.json) - Current version info
142+
- [GitHub Releases Documentation](https://docs.github.com/en/repositories/releasing-projects-on-github)
143+
144+
## 📞 Support
145+
146+
For questions about releases:
147+
- **Email:** adrian207@gmail.com
148+
- **Issues:** [GitHub Issues](https://github.com/adrian207/Windows-Server-Powershell-Solutions-Suite/issues)
149+
150+
---
151+
152+
**Windows Server PowerShell Solutions Suite** - Professional release management.
153+
154+
Copyright © 2024 Adrian Johnson. All rights reserved.
155+

0 commit comments

Comments
 (0)