Skip to content

Commit fe9724b

Browse files
committed
chore: switch from release-please to release-plz
- Add release-plz workflow and configuration - Configure git-cliff for changelog generation - Remove release-please files - Set up automated releases with proper crate ordering
1 parent 9e7d073 commit fe9724b

File tree

7 files changed

+246
-165
lines changed

7 files changed

+246
-165
lines changed

.github/workflows/release-plz.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Release-plz
2+
3+
permissions:
4+
pull-requests: write
5+
contents: write
6+
7+
on:
8+
push:
9+
branches:
10+
- main
11+
12+
jobs:
13+
release-plz:
14+
name: Release-plz
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout repository
18+
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
22+
- name: Install Rust toolchain
23+
uses: dtolnay/rust-toolchain@stable
24+
25+
- name: Run release-plz
26+
uses: MarcoIeni/release-plz-action@v0.5
27+
env:
28+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
29+
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

.github/workflows/release.yml

Lines changed: 0 additions & 119 deletions
This file was deleted.

.release-please-manifest.json

Lines changed: 0 additions & 6 deletions
This file was deleted.

ISSUE_MIGRATION_AUDIT.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Issue Migration Audit
2+
3+
## Summary
4+
- **Total Issues**: 96
5+
- **Open Issues**: ~80
6+
- **Closed Issues**: ~16
7+
8+
## Issue Categories
9+
10+
### By Type:
11+
- **Features**: 45 issues - Implementation of new commands/functionality
12+
- **Tests**: 21 issues - Test coverage improvements
13+
- **Chores**: 8 issues - Maintenance and refactoring
14+
- **Documentation**: 4 issues - Documentation improvements
15+
16+
### By Platform:
17+
- **Cloud API**: ~40% of issues
18+
- **Enterprise API**: ~40% of issues
19+
- **CLI/General**: ~20% of issues
20+
21+
## Migration Strategy
22+
23+
### **KEEP** - Issues to Migrate (High Value)
24+
25+
#### Architecture & Design Issues:
26+
- #109: Generate Protocol Buffer Definitions (NEW - already in personal repo)
27+
- #87: CLI Architecture Redesign - Tracking Issue
28+
- #85: CLI Phase 4: Advanced Workflow Features
29+
- #84: CLI Phase 3: Implement Core Workflow Commands
30+
- #83: CLI Phase 2: Human-Friendly Commands (likely closed)
31+
- #82: CLI Phase 1: Raw API Access (likely closed)
32+
33+
#### High-Priority Feature Implementations:
34+
- Cloud API command implementations (database, backup, ACL, etc.)
35+
- Enterprise API command implementations (cluster, node, user, etc.)
36+
- Workflow commands for common operations
37+
38+
### ⚠️ **REVIEW** - Selectively Migrate
39+
40+
#### Test Coverage Issues (#93-108):
41+
These are valuable but numerous. Options:
42+
1. Create a single "Improve Test Coverage" meta-issue
43+
2. Track in a project board instead
44+
3. Keep as-is but lower priority
45+
46+
**Recommendation**: Create one meta-issue: "Achieve 80% test coverage across all handlers"
47+
48+
### **SKIP** - Don't Migrate
49+
50+
#### Internal/Completed Issues:
51+
- Issues specific to Redis internal workflows
52+
- Already completed Phase 1 & 2 issues
53+
- Issues referencing internal systems or people
54+
55+
## Recommended Migration Approach
56+
57+
### Option 1: Fresh Start (Recommended)
58+
Create new, consolidated issues in personal repo:
59+
1. **"Roadmap: Complete API Coverage"** - Track remaining unimplemented endpoints
60+
2. **"Roadmap: Test Coverage"** - Achieve 80% coverage target
61+
3. **"Roadmap: Workflow Commands"** - High-level operations
62+
4. **"Roadmap: Documentation"** - Comprehensive docs
63+
5. **"Feature: Protocol Buffer Definitions"** - Already created
64+
65+
### Option 2: Selective Migration
66+
Use GitHub's issue transfer feature for ~10-15 high-value issues:
67+
- Major architecture issues
68+
- Roadmap tracking issues
69+
- High-priority features
70+
71+
### Option 3: Full Migration
72+
Transfer all open issues (not recommended - too much noise)
73+
74+
## New Issues to Create
75+
76+
After migration, create these fresh issues for public repo:
77+
78+
1. **"Help Wanted: First Good Issues"** - Label easy starter tasks
79+
2. **"Feature Request: Your Ideas"** - Community input
80+
3. **"Documentation: Examples Needed"** - Real-world usage examples
81+
4. **"Testing: Platform Coverage"** - Windows/Mac/Linux testing
82+
83+
## Action Items
84+
85+
1. [ ] Close completed issues in old repo
86+
2. [ ] Create roadmap issues in new repo
87+
3. [ ] Add README section pointing to new repo
88+
4. [ ] Archive old repository after migration
89+
90+
## Issue Templates for New Repo
91+
92+
### Bug Report Template
93+
```yaml
94+
name: Bug Report
95+
about: Report a bug in redisctl
96+
labels: bug
97+
body:
98+
- type: input
99+
label: Version
100+
placeholder: "0.1.0"
101+
- type: dropdown
102+
label: Platform
103+
options: [Cloud, Enterprise, Both]
104+
- type: textarea
105+
label: Description
106+
```
107+
108+
### Feature Request Template
109+
```yaml
110+
name: Feature Request
111+
about: Suggest a new feature
112+
labels: enhancement
113+
body:
114+
- type: dropdown
115+
label: Category
116+
options: [CLI, Cloud API, Enterprise API, Documentation]
117+
- type: textarea
118+
label: Description
119+
```
120+
121+
## Decision Required
122+
123+
Which migration approach do you prefer?
124+
1. **Fresh Start** - Clean slate, new focused issues
125+
2. **Selective** - Transfer ~10-15 key issues
126+
3. **Full** - Transfer everything
127+
128+
**My Recommendation**: Fresh Start with consolidated roadmap issues. It's cleaner for a public repo and less overwhelming for potential contributors.

cliff.toml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# git-cliff configuration for changelog generation
2+
3+
[changelog]
4+
header = """
5+
# Changelog
6+
7+
All notable changes to this project will be documented in this file.
8+
"""
9+
body = """
10+
{% if version %}\
11+
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
12+
{% else %}\
13+
## [unreleased]
14+
{% endif %}\
15+
{% for group, commits in commits | group_by(attribute="group") %}
16+
### {{ group | upper_first }}
17+
{% for commit in commits %}
18+
- {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }}\
19+
{% endfor %}
20+
{% endfor %}\n
21+
"""
22+
trim = true
23+
footer = """
24+
<!-- generated by git-cliff -->
25+
"""
26+
27+
[git]
28+
conventional_commits = true
29+
filter_unconventional = true
30+
split_commits = false
31+
commit_preprocessors = []
32+
commit_parsers = [
33+
{ message = "^feat", group = "Features" },
34+
{ message = "^fix", group = "Bug Fixes" },
35+
{ message = "^doc", group = "Documentation" },
36+
{ message = "^perf", group = "Performance" },
37+
{ message = "^refactor", group = "Refactor" },
38+
{ message = "^style", group = "Styling" },
39+
{ message = "^test", group = "Testing" },
40+
{ message = "^chore\\(release\\): prepare for", skip = true },
41+
{ message = "^chore", group = "Miscellaneous Tasks" },
42+
{ body = ".*security", group = "Security" },
43+
]
44+
protect_breaking_commits = false
45+
filter_commits = false
46+
tag_pattern = "v[0-9]*"
47+
skip_tags = ""
48+
ignore_tags = ""
49+
topo_order = false
50+
sort_commits = "oldest"

release-please-config.json

Lines changed: 0 additions & 40 deletions
This file was deleted.

0 commit comments

Comments
 (0)