From 35d5f14eabb064c4e2a119affdf951b58cb752ee Mon Sep 17 00:00:00 2001 From: Ivan FB Date: Wed, 3 Jun 2026 17:48:24 +0200 Subject: [PATCH] ci: pin nimble 0.22.3 to fix Nim checksum mismatch on liblogosdelivery build The "Build liblogosdelivery.so" job ran a bare `nimble install -y` inside the logos-delivery checkout, resolving the package's locked deps with whatever nimble choosenim ships. That nimble recomputes the locked Nim package checksum differently from the nimble that generated nimble.lock (0.22.3), so the build aborted with: Downloaded package checksum does not correspond to that in the lock file: Package: nim@v.2.2.4@r.911e0dbb... Expected checksum: 68bb85cb... Mirror logos-delivery's own CI: pin nimble 0.22.3 after installing Nim, and drop the redundant `nimble install -y` / no-op `make setup`. `make liblogosdelivery` already resolves the locked deps via its build-deps prerequisite (`nimble setup --localdeps`). Co-Authored-By: Claude Opus 4.8 --- .github/workflows/pr_tests.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pr_tests.yml b/.github/workflows/pr_tests.yml index a3a1bd429..040d49a87 100644 --- a/.github/workflows/pr_tests.yml +++ b/.github/workflows/pr_tests.yml @@ -71,7 +71,7 @@ jobs: gcc \ g++ - - name: Install Nim 2.2.4 + - name: Install Nim 2.2.4 and Nimble 0.22.3 if: steps.cache-lib.outputs.cache-hit != 'true' run: | set -euo pipefail @@ -79,6 +79,10 @@ jobs: echo "$HOME/.nimble/bin" >> "$GITHUB_PATH" export PATH="$HOME/.nimble/bin:$PATH" choosenim 2.2.4 + # Pin the nimble that generated logos-delivery's nimble.lock. A newer + # nimble recomputes the locked Nim package checksum differently, which + # makes `nimble setup --localdeps` abort with a checksum mismatch. + (cd /tmp && nimble install "nimble@0.22.3" -y) nim --version nimble --version @@ -98,10 +102,10 @@ jobs: ln -sf waku.nimble waku.nims - nimble install -y - - make setup - + # `make liblogosdelivery` resolves the locked deps via + # `nimble setup --localdeps` (build-deps prerequisite); a bare + # `nimble install -y` here is redundant and pulls Nim from the lock, + # which is what triggered the checksum mismatch. make liblogosdelivery SO_PATH="$(find . -type f -name 'liblogosdelivery.so' | head -n 1)"