You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add branch structure section (master for 2.1, maint/2.0 for maintenance)
- Add documentation release process section
- Update conda-forge section with dependency notes
- Remove @drewyangdev and @guzman-raphael from maintainers
- Add links to datajoint-docs and docs.datajoint.com
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@@ -67,21 +81,23 @@ Ensure PRs have appropriate labels before merging.
67
81
68
82
### Steps
69
83
70
-
1.**Run "Manual Draft Release" workflow** on GitHub Actions
71
-
2.**Edit the draft release**:
72
-
- Change release name to `Release 2.0.0`
73
-
- Change tag to `v2.0.0`
74
-
3.**Publish the release**
75
-
4. Automation will:
76
-
- Update `version.py` to `2.0.0`
84
+
1.**Add labels to merged PRs** for release-drafter categorization
85
+
2.**Run "Manual Draft Release" workflow** on GitHub Actions
86
+
3.**Edit the draft release**:
87
+
- Set release name to `Release X.Y.Z`
88
+
- Set tag to `vX.Y.Z`
89
+
- Review and edit release notes
90
+
4.**Publish the release**
91
+
5. Automation will:
92
+
- Update `version.py` to `X.Y.Z`
77
93
- Build and publish to PyPI
78
94
- Create PR to merge version update back to master
79
95
80
96
### Version Note
81
97
82
-
The release drafter computes version from the previous tag (`v0.14.6`), so it would generate `0.14.7` or `0.15.0`. You must **manually edit** the release name to include `2.0.0`.
98
+
The release drafter computes version from the previous tag. You may need to **manually edit** the release name for major version changes.
83
99
84
-
The regex on line 42 of`post_draft_release_published.yaml` extracts version from the release name:
100
+
The regex in`post_draft_release_published.yaml` extracts version from the release name:
1. **First**: Publish to PyPI via GitHub release (name it "Release 2.0.0")
144
-
2. **Wait**: ~24 hours for conda-forge bot to detect
145
-
3. **Check**: [datajoint-feedstock PRs](https://github.com/conda-forge/datajoint-feedstock/pulls) for auto-PR
146
-
4. **Review**: Ensure license changed from LGPL to Apache-2.0
147
-
5. **Merge**: As maintainer, approve and merge the PR
169
+
After release:
170
+
```bash
171
+
conda search datajoint -c conda-forge
172
+
```
148
173
149
-
### Timeline
174
+
---
150
175
151
-
| Step | When |
152
-
|------|------|
153
-
| PyPI release | Day 0 |
154
-
| Bot detects & creates PR | Day 0-1 |
155
-
| Review & merge PR | Day 1-2 |
156
-
| Conda-forge package available | Day 1-2 |
176
+
## Documentation Release Process
157
177
158
-
### Verification
178
+
Documentation is hosted at [docs.datajoint.com](https://docs.datajoint.com) and built from [datajoint-docs](https://github.com/datajoint/datajoint-docs).
159
179
160
-
After release:
180
+
### How Documentation Builds Work
181
+
182
+
The documentation build:
183
+
1. Checks out `datajoint-python` from the `master` branch
184
+
2. Uses mkdocstrings to generate API docs from source docstrings
185
+
3. Builds static site with MkDocs
186
+
4. Deploys to `gh-pages` branch
187
+
188
+
### Triggering a Documentation Build
189
+
190
+
Documentation rebuilds automatically when:
191
+
- Changes are pushed to `datajoint-docs` main branch
192
+
193
+
To manually trigger a rebuild (e.g., after updating docstrings in datajoint-python):
161
194
```bash
162
-
conda search datajoint -c conda-forge
163
-
# Should show 2.0.0
195
+
gh workflow run development.yml --repo datajoint/datajoint-docs
164
196
```
165
197
198
+
Or use the "Run workflow" button in GitHub Actions.
199
+
200
+
### Updating Documentation
201
+
202
+
1.**For docstring changes**: Update docstrings in `datajoint-python`, then trigger a docs rebuild
203
+
2.**For content changes**: Edit files in `datajoint-docs/src/`, push to main
204
+
3.**Docstring style**: Use NumPy-style docstrings (see CONTRIBUTING.md)
0 commit comments