Skip to content

Commit 2e9f6e8

Browse files
authored
Merge pull request #690 from klutchell/improve-contributing-doc
Improve CONTRIBUTING.md for bump and release workflow
2 parents 467d708 + 647ea4a commit 2e9f6e8

1 file changed

Lines changed: 35 additions & 1 deletion

File tree

CONTRIBUTING.md

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,11 @@ People _love_ thorough bug reports. I'm not even kidding.
8585
8686
## Testing
8787

88+
> [!NOTE] These tests resolve names recursively, so outbound DNS (UDP/TCP port
89+
> 53) must be allowed on the network where they run. On firewalled networks the
90+
> queries will hang or appear to fail for non-Unbound reasons; CI is the
91+
> authoritative source of test results.
92+
8893
1. Run a detached unbound container
8994

9095
```bash
@@ -136,7 +141,36 @@ People _love_ thorough bug reports. I'm not even kidding.
136141

137142
4. Commit and push changes to `Dockerfile` and `unbound.conf.example`.
138143

139-
[Example pull request #235](https://github.com/klutchell/unbound-docker/pull/235) for reference.
144+
For the current pattern, see recent commits touching the Unbound `ARG` lines:
145+
146+
```bash
147+
git log --oneline -- Dockerfile | grep -i "update unbound" | head -5
148+
```
149+
150+
## Tagging a release (maintainers only)
151+
152+
This section applies to repository maintainers. Contributors do not need to tag
153+
releases — the maintainer will tag once your bump PR is merged.
154+
155+
After an Unbound bump PR is merged to `main`, tag the release on the **content
156+
commit** (the "Update Unbound to release X.Y.Z" commit), not the merge commit
157+
GitHub creates on top.
158+
159+
```bash
160+
git fetch origin
161+
# Find the content commit on origin/main
162+
git log origin/main --grep='Update Unbound to release' --format='%H %s' -1
163+
164+
# Create a signed, annotated tag with the version as the message body
165+
git tag -s vX.Y.Z -m "vX.Y.Z" <content-commit-sha>
166+
167+
# Push the tag
168+
git push origin vX.Y.Z
169+
```
170+
171+
Tags follow `vMAJOR.MINOR.PATCH` matching the upstream Unbound version, are
172+
annotated (not lightweight), and are GPG-signed. The tag message body is the
173+
bare version string — no release notes.
140174

141175
## License
142176

0 commit comments

Comments
 (0)