Add manual bump workflow for dnscrypt-proxy#647
Merged
Conversation
Replaces Renovate-driven auto-bumps with a manual maintainer workflow. The Dockerfile now pins a SHA256 of the upstream source tarball and verifies it before extraction; Renovate is explicitly disabled for DNSCrypt/dnscrypt-proxy in .github/renovate.json; and CONTRIBUTING.md documents the new bump and tagging process. Also regenerates the bundled example configs from upstream 2.1.16, which was bumped via Renovate without regenerating them. Most notably, example-dnscrypt-proxy.toml was still documenting the removed tls_cipher_suite option (now replaced by tls_prefer_rsa upstream). Signed-off-by: Kyle Harding <kyle@balena.io>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces Renovate-driven auto-bumps of
DNSCrypt/dnscrypt-proxywith a manual maintainer workflow, modeled on the existing process inklutchell/unbound-docker.Why
Renovate-only bumps have two gaps:
https://github.com/DNSCrypt/dnscrypt-proxy/archive/${VERSION}.tar.gzwith no SHA256 verification — a silent supply-chain risk if GitHub's archive endpoint ever served unexpected bytes.config/example-*files extracted from the upstream source via theconf-examplebuild stage. Renovate's bumps only updatedARG DNSCRYPT_PROXY_VERSIONand never re-ran the extraction, so the bundled examples drifted from the actually-pinned upstream. The most user-visible drift:example-dnscrypt-proxy.tomlonmainwas still documenting the removedtls_cipher_suiteoption from earlier 2.1.x releases, even though upstream replaced it withtls_prefer_rsa.What changes
Dockerfile— pinsDNSCRYPT_PROXY_SHA256for2.1.16and verifies it withsha256sum -cbefore extracting the tarball. Builds now fail fast if the upstream archive bytes change unexpectedly..github/renovate.json— explicitpackageRulesentry disabling Renovate forDNSCrypt/dnscrypt-proxy(so a future contributor doesn't "fix" the missing renovate marker by re-enabling it). The renovate marker comment has also been removed from the Dockerfile.CONTRIBUTING.md— new file documenting build/test/bump/tag processes, matching the structure ofunbound-docker's.config/example-*— regenerated from upstream 2.1.16 viadocker build . --target conf-example --output ./config. Brings the bundled examples back in sync with the pinned upstream version.The actual 2.1.16 version bump landed in #646; this PR is the workflow infrastructure that future X.Y.Z bumps will use.
v2.1.16has been tagged on the content commit as part of putting this workflow into practice.Test plan
docker build . --tag klutchell/dnscrypt-proxy:devsucceeds with SHA256 verification activedocker run --rm klutchell/dnscrypt-proxy:dev --versionprints2.1.16docker build . --target conf-example --output ./configregenerates example files cleanlydocker-compose.test.yml