fix: unblock CI for minisatip, jackett, k8s-sidecar renovate bumps#1824
fix: unblock CI for minisatip, jackett, k8s-sidecar renovate bumps#1824Crow-Control merged 2 commits intomainfrom
Conversation
- minisatip: bump 2.0.71 → 2.0.79 and switch from autotools (./configure, make DDCI=1) to the new CMake build that upstream ships. DDCI is derived automatically in CMakeLists when DVBCA (libssl-dev) is available, so no explicit flag is needed. Move the resulting binary to the location start.sh expects. Install/purge cmake alongside other build tools. - jackett: bump v0.24.1167 → v0.24.1614 and relax container-test health-probe. The upstream app starts and serves on :9117 fine, but its default / response status changed, so drop the explicit 302 expectation and let the healthcheck helper accept any 2xx/3xx. - k8s-sidecar: bump 2.5.2 → 2.6.0. Upstream moved dependency metadata from src/requirements.txt to a top-level pyproject.toml, so stage the whole project for pip install and then copy src/* into /app so the existing CMD path keeps working. Agent-Logs-Url: https://github.com/trueforge-org/containerforge/sessions/fd360a2c-f5cf-4bff-8432-a7efafd8071b Co-authored-by: Crow-Control <7613738+Crow-Control@users.noreply.github.com>
Agent-Logs-Url: https://github.com/trueforge-org/containerforge/sessions/fd360a2c-f5cf-4bff-8432-a7efafd8071b Co-authored-by: Crow-Control <7613738+Crow-Control@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates three app images to newer upstream versions and applies minimal build/test adjustments to restore CI green after upstream packaging/build changes.
Changes:
- Bump
minisatipto 2.0.79 and switch build from autotools to CMake, placing the built binary where the runtime entrypoint expects it. - Bump
jackettto v0.24.1614 and relax the HTTP healthcheck to accept any 2xx/3xx response. - Bump
k8s-sidecarto 2.6.0 and install dependencies viapyproject.tomlwhile keeping the existing runtimeCMDpath stable.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| apps/minisatip/docker-bake.hcl | Version bump to 2.0.79. |
| apps/minisatip/Dockerfile | Replace autotools build with CMake build and adjust artifact placement/cleanup. |
| apps/jackett/docker-bake.hcl | Version bump to v0.24.1614. |
| apps/jackett/container-test.yaml | Remove strict 302 expectation from HTTP healthcheck. |
| apps/k8s-sidecar/docker-bake.hcl | Version bump to 2.6.0. |
| apps/k8s-sidecar/Dockerfile | Install via pip install from extracted project metadata + sources; keep runtime invocation unchanged. |
| # Install Python dependencies | ||
| RUN /app/venv/bin/pip install --no-cache-dir -r requirements.txt && \ | ||
| rm requirements.txt && \ | ||
| RUN curl -L https://github.com/kiwigrid/k8s-sidecar/archive/refs/tags/${VERSION}.tar.gz -o /tmp/release.tar.gz && \ |
There was a problem hiding this comment.
RELEASE_URL is defined but not used (the curl command repeats the URL literal). Consider either using ${RELEASE_URL} in the download step or dropping the ENV line to avoid drift/misleading configuration.
| RUN curl -L https://github.com/kiwigrid/k8s-sidecar/archive/refs/tags/${VERSION}.tar.gz -o /tmp/release.tar.gz && \ | |
| RUN curl -L "${RELEASE_URL}" -o /tmp/release.tar.gz && \ |
| # Download and extract the release. Upstream moved dependency metadata from | ||
| # src/requirements.txt to a top-level pyproject.toml starting at 2.5.5, so we | ||
| # stage the whole project for pip and copy the source files into /app for the | ||
| # existing CMD to find. | ||
| ENV RELEASE_URL="https://github.com/kiwigrid/k8s-sidecar/archive/refs/tags/${VERSION}.tar.gz" | ||
| RUN curl -L https://github.com/kiwigrid/k8s-sidecar/archive/refs/tags/${VERSION}.tar.gz -o release.tar.gz && \ | ||
| mkdir src_temp && \ | ||
| tar -xzf release.tar.gz -C src_temp k8s-sidecar-${VERSION}/src && \ | ||
| cp -r src_temp/k8s-sidecar-${VERSION}/src/* /app/ && \ | ||
| rm -rf release.tar.gz src_temp | ||
|
|
||
| # Install Python dependencies | ||
| RUN /app/venv/bin/pip install --no-cache-dir -r requirements.txt && \ | ||
| rm requirements.txt && \ | ||
| RUN curl -L https://github.com/kiwigrid/k8s-sidecar/archive/refs/tags/${VERSION}.tar.gz -o /tmp/release.tar.gz && \ | ||
| mkdir -p /tmp/src_temp && \ | ||
| tar -xzf /tmp/release.tar.gz -C /tmp/src_temp \ | ||
| k8s-sidecar-${VERSION}/pyproject.toml \ | ||
| k8s-sidecar-${VERSION}/src && \ |
There was a problem hiding this comment.
The comment says we “stage the whole project”, but the tar extraction only pulls pyproject.toml and src/. Please either adjust the comment to match what’s actually extracted, or extract the full k8s-sidecar-${VERSION}/ directory so the wording stays accurate and future packaging files aren’t accidentally omitted.
Three open renovate version bumps were red because upstream changed the build/packaging contract between releases. This PR rolls the bumps in together with the minimal per-app adjustments to make CI green. Grocy 4.6.0 and the three BREAKING major-version bumps (duplicacy v3, Lychee v7, cops v4) are deliberately deferred — each needs its own dedicated effort.
Changes
apps/minisatip(2.0.71 → 2.0.79) — upstream replaced autotools with CMake. Swap./configure && make DDCI=1forcmake -B build . && cmake --build build -j…, addcmaketo the build/purge set, and move the produced binary to/app/satip/minisatipwherestart.shexpects it.DDCIis now auto-enabled inCMakeLists.txtwhen DVBCA (libssl-dev) is detected, so no explicit flag.apps/jackett(v0.24.1167 → v0.24.1614) — the app starts and listens on :9117 fine, but/no longer returns 302, so the Docker healthcheck times out. Drop the explicitstatusCode: 302fromcontainer-test.yaml; the healthcheck helper then accepts any 2xx/3xx.apps/k8s-sidecar(2.5.2 → 2.6.0, also supersedes fix(deps): update ghcr.io/kiwigrid/k8s-sidecar docker tag 2.5.2 → 2.5.5 - autoclosed #1718) — upstream moved dependency metadata fromsrc/requirements.txtto a top-levelpyproject.toml. Stage the whole project forpip install, then copysrc/*into/appso the existingCMD [ "python", "-u", "/app/sidecar.py" ]keeps working:tar -xzf /tmp/release.tar.gz -C /tmp/src_temp \ k8s-sidecar-${VERSION}/pyproject.toml \ k8s-sidecar-${VERSION}/src && \ /app/venv/bin/pip install --no-cache-dir /tmp/src_temp/k8s-sidecar-${VERSION} && \ cp -r /tmp/src_temp/k8s-sidecar-${VERSION}/src/* /app/Deferred (not in this PR)
composer.jsonnow requiresphp 8.5.*; base image ships 8.3. Fixing requires switching to a PHP 8.5-capable base (e.g.ondrej/phpPPA), which isn't a minimal change.