@@ -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+
88931 . Run a detached unbound container
8994
9095 ``` bash
@@ -136,7 +141,36 @@ People _love_ thorough bug reports. I'm not even kidding.
136141
1371424 . 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