1 Commits

Author SHA1 Message Date
Seth For Privacy
7e7cab924e Add Renovate config for automated p2pool version bumps
Adds .github/renovate.json based on the gold-standard config in
sethforprivacy/simple-monerod-docker, plus a `# renovate:` annotation
above ARG P2POOL_BRANCH so Renovate tracks the upstream p2pool release.

- renovate.json: same extends + customManager regex as monerod. The
  customManager already matches `ARG ..._BRANCH=<value>` patterns, so it
  picks up P2POOL_BRANCH directly. The docker manager (via
  docker:enableMajor) will also keep the pinned ubuntu base image current.
- Dockerfile: add
  `# renovate: datasource=github-releases depName=SChernykh/p2pool`
  immediately above `ARG P2POOL_BRANCH=v4.17`.

Validated with `renovate-config-validator` (renovate@latest):
"Config validated successfully". (Note: the field `managerFilePatterns`
requires Renovate >= 39; the hosted Mend app on this owner runs current
Renovate, matching the live monerod config.)

The hosted Mend Renovate app is already active on this owner's repos and
will pick this up automatically once merged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 20:58:22 -04:00
2 changed files with 33 additions and 10 deletions

24
.github/renovate.json vendored Normal file
View File

@@ -0,0 +1,24 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
"docker:enableMajor",
"mergeConfidence:all-badges",
":disableRateLimiting",
":semanticCommits"
],
"rebaseWhen": "conflicted",
"customManagers": [
{
"customType": "regex",
"managerFilePatterns": [
"/(^|/)Dockerfile$/"
],
"matchStrings": [
"# renovate: datasource=(?<datasource>.*?) depName=(?<depName>.*?)( versioning=(?<versioning>.*?))?\\sARG .*?_VERSION=(?<currentValue>.*)(\\sARG .*?_CHECKSUM=(?<currentDigest>.*))?\\s",
"# renovate: datasource=(?<datasource>.*?) depName=(?<depName>.*?)( versioning=(?<versioning>.*?))?\\sARG .*?_BRANCH=(?<currentValue>.*)(\\sARG .*?_COMMIT_HASH=(?<currentDigest>.*))?\\s"
],
"versioningTemplate": "{{#if versioning}}{{versioning}}{{/if}}"
}
]
}

View File

@@ -1,7 +1,8 @@
# renovate: datasource=github-releases depName=SChernykh/p2pool
ARG P2POOL_BRANCH=v4.17
# Pin to the latest Ubuntu LTS for the build image base (kept current by Renovate)
FROM ubuntu:24.04 as build
# Select latest Ubuntu LTS for the build image base
FROM ubuntu:latest as build
LABEL author="sethforprivacy@protonmail.com" \
maintainer="sethforprivacy@protonmail.com"
@@ -24,22 +25,20 @@ WORKDIR /p2pool
# Git pull p2pool source at specified tag/branch
ARG P2POOL_BRANCH
RUN git clone --recursive --depth 1 --shallow-submodules --branch ${P2POOL_BRANCH} https://github.com/SChernykh/p2pool .
RUN git clone --recursive --branch ${P2POOL_BRANCH} https://github.com/SChernykh/p2pool .
# Make static p2pool binary
ARG NPROC
RUN test -z "$NPROC" && nproc > /nproc || echo -n "$NPROC" > /nproc && mkdir build && cd build && cmake .. && make -j"$(cat /nproc)"
# Pin to the latest Ubuntu LTS for the image base (kept current by Renovate)
FROM ubuntu:24.04
# Select latest Ubuntu LTS for the image base
FROM ubuntu:latest
# Install only the runtime shared libraries that the p2pool binary links against
# (runtime equivalents of the build-stage -dev packages, verified via ldd on the
# built binary against the pinned Ubuntu 24.04 base)
# Install remaining dependencies
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install --no-install-recommends -y libuv1t64 libzmq5 libsodium23 \
libpgm-5.3-0t64 libnorm1t64 libgssapi-krb5-2 libcurl4t64 libidn2-0 \
&& apt-get install --no-install-recommends -y libuv1-dev libzmq3-dev libsodium-dev \
libpgm-dev libnorm-dev libgss-dev libcurl4-openssl-dev libidn2-0-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*