From 71cba297d8faf7496998cf132132bea6c33bc2fb Mon Sep 17 00:00:00 2001 From: narimiran Date: Fri, 24 Apr 2026 16:35:11 +0200 Subject: [PATCH 1/6] chore: use Nim 2.2.10 --- .github/copilot-instructions.md | 2 +- .github/workflows/cbindings.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/daily_amd64.yml | 4 ++-- .github/workflows/daily_i386.yml | 4 ++-- .github/workflows/daily_tests_no_flags.yml | 4 +--- .github/workflows/examples.yml | 2 +- README.md | 4 ++-- interop/hole-punching/Dockerfile | 2 +- interop/transport-v2/Dockerfile | 2 +- interop/transport/Dockerfile | 2 +- performance/test_node/Dockerfile | 6 +++--- simulation/Dockerfile | 2 +- 13 files changed, 18 insertions(+), 20 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 3da9d941f5..e53befee2f 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -486,7 +486,7 @@ nimble examples # Build and run C examples | Workflow | Description | |----------|-------------| -| `ci.yml` | Main CI: Linux (amd64/i386), macOS (arm64), Windows; Nim v2.0.16 & v2.2.6 | +| `ci.yml` | Main CI: Linux (amd64/i386), macOS (arm64), Windows; Nim v2.0.16 & v2.2.10 | | `daily_amd64.yml` / `daily_i386.yml` | Extended daily tests | | `daily_ci_report.yml` | Daily CI failure reporting: opens/updates GitHub issues for failed daily CI runs | | `daily_common.yml` | Shared steps/config reused by daily workflows | diff --git a/.github/workflows/cbindings.yml b/.github/workflows/cbindings.yml index 59e413c01b..bc4b73a860 100644 --- a/.github/workflows/cbindings.yml +++ b/.github/workflows/cbindings.yml @@ -38,7 +38,7 @@ jobs: shell: bash os: linux cpu: amd64 - nim_ref: v2.2.6 + nim_ref: v2.2.10 - name: Restore deps from cache id: deps-cache diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index afb8bd194d..b13d9530ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,7 +42,7 @@ jobs: nim: - ref: v2.0.16 memory_management: refc - - ref: v2.2.6 + - ref: v2.2.10 memory_management: refc include: - platform: diff --git a/.github/workflows/daily_amd64.yml b/.github/workflows/daily_amd64.yml index 43ae8be354..01916bb391 100644 --- a/.github/workflows/daily_amd64.yml +++ b/.github/workflows/daily_amd64.yml @@ -19,7 +19,7 @@ jobs: with: nim: "[ {'ref': 'v2.0.16', 'memory_management': 'refc'}, - {'ref': 'v2.2.6', 'memory_management': 'refc'}, + {'ref': 'v2.2.10', 'memory_management': 'refc'}, {'ref': 'devel', 'memory_management': 'refc'}, ]" configuration: "[ @@ -37,7 +37,7 @@ jobs: pinned_deps: true nim: "[ {'ref': 'v2.0.16', 'memory_management': 'refc'}, - {'ref': 'v2.2.6', 'memory_management': 'refc'}, + {'ref': 'v2.2.10', 'memory_management': 'refc'}, {'ref': 'devel', 'memory_management': 'refc'}, ]" configuration: "[ diff --git a/.github/workflows/daily_i386.yml b/.github/workflows/daily_i386.yml index 371829391e..85083e890e 100644 --- a/.github/workflows/daily_i386.yml +++ b/.github/workflows/daily_i386.yml @@ -16,7 +16,7 @@ jobs: with: nim: "[ {'ref': 'v2.0.16', 'memory_management': 'refc'}, - {'ref': 'v2.2.6', 'memory_management': 'refc'}, + {'ref': 'v2.2.10', 'memory_management': 'refc'}, {'ref': 'devel', 'memory_management': 'refc'}, ]" configuration: "[ @@ -29,7 +29,7 @@ jobs: pinned_deps: true nim: "[ {'ref': 'v2.0.16', 'memory_management': 'refc'}, - {'ref': 'v2.2.6', 'memory_management': 'refc'}, + {'ref': 'v2.2.10', 'memory_management': 'refc'}, {'ref': 'devel', 'memory_management': 'refc'}, ]" configuration: "[ diff --git a/.github/workflows/daily_tests_no_flags.yml b/.github/workflows/daily_tests_no_flags.yml index 06c12d9137..9f0872156b 100644 --- a/.github/workflows/daily_tests_no_flags.yml +++ b/.github/workflows/daily_tests_no_flags.yml @@ -29,7 +29,7 @@ jobs: shell: bash os: linux cpu: amd64 - nim_ref: v2.2.6 + nim_ref: v2.2.10 - name: Restore deps from cache id: deps-cache @@ -46,5 +46,3 @@ jobs: - name: Build and run tests without feature flags run: | nim c -r tests/test_all.nim - - diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml index 10bef362bb..19fddb2d85 100644 --- a/.github/workflows/examples.yml +++ b/.github/workflows/examples.yml @@ -38,7 +38,7 @@ jobs: shell: bash os: linux cpu: amd64 - nim_ref: v2.2.6 + nim_ref: v2.2.10 - name: Restore deps from cache id: deps-cache diff --git a/README.md b/README.md index af3ba8ad70..d222ad6f30 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Jump into the [contributing](docs/contributing.md) page to get started, `nim-lib ## Install -The currently supported Nim versions are v2.0.16 and v2.2.6. +The currently supported Nim versions are v2.0.16 and v2.2.10. ``` nimble install libp2p @@ -143,4 +143,4 @@ List of packages modules implemented in nim-libp2p: | **Privacy** | | | [mix](nim-libp2p/libp2p/protocols/mix.nim) | [Mix](https://lip.logos.co/ift-ts/raw/mix.html#5-protocol-overview) network protocol with [Sphinx](https://cypherpunks.ca/~iang/pubs/Sphinx_Oakland09.pdf) packet format for anonymity | | **Performance** | | -| [perf](nim-libp2p/libp2p/protocols/perf/core.nim) | [Perf](https://github.com/libp2p/specs/blob/master/perf/perf.md) protocol for benchmarking libp2p nodes | \ No newline at end of file +| [perf](nim-libp2p/libp2p/protocols/perf/core.nim) | [Perf](https://github.com/libp2p/specs/blob/master/perf/perf.md) protocol for benchmarking libp2p nodes | diff --git a/interop/hole-punching/Dockerfile b/interop/hole-punching/Dockerfile index a95b8df26a..9736bba1f1 100644 --- a/interop/hole-punching/Dockerfile +++ b/interop/hole-punching/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1.5-labs -FROM nimlang/nim:2.2.6-ubuntu-regular as builder +FROM nimlang/nim:2.2.10-ubuntu-regular as builder WORKDIR /app diff --git a/interop/transport-v2/Dockerfile b/interop/transport-v2/Dockerfile index 76fc6f9902..1adb6cbaab 100644 --- a/interop/transport-v2/Dockerfile +++ b/interop/transport-v2/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1.5-labs -FROM nimlang/nim:2.2.6-ubuntu-regular as builder +FROM nimlang/nim:2.2.10-ubuntu-regular as builder WORKDIR /app diff --git a/interop/transport/Dockerfile b/interop/transport/Dockerfile index a23e12c5cc..e7d3c6d0fb 100644 --- a/interop/transport/Dockerfile +++ b/interop/transport/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1.5-labs -FROM nimlang/nim:2.2.6-ubuntu-regular as builder +FROM nimlang/nim:2.2.10-ubuntu-regular as builder WORKDIR /app diff --git a/performance/test_node/Dockerfile b/performance/test_node/Dockerfile index 7e11ffe92a..41e48dbeaa 100644 --- a/performance/test_node/Dockerfile +++ b/performance/test_node/Dockerfile @@ -1,5 +1,5 @@ # Create the build image -FROM nimlang/nim:2.2.6-ubuntu-regular AS build +FROM nimlang/nim:2.2.10-ubuntu-regular AS build WORKDIR /node @@ -19,7 +19,7 @@ RUN nimble c \ performance/test_node/main.nim -FROM nimlang/nim:2.2.6-alpine-slim +FROM nimlang/nim:2.2.10-alpine-slim WORKDIR /node @@ -31,4 +31,4 @@ RUN chmod +x main entrypoint.sh \ VOLUME ["/output"] -ENTRYPOINT ["/node/entrypoint.sh"] \ No newline at end of file +ENTRYPOINT ["/node/entrypoint.sh"] diff --git a/simulation/Dockerfile b/simulation/Dockerfile index abc1b54a39..f4db96398d 100644 --- a/simulation/Dockerfile +++ b/simulation/Dockerfile @@ -1,6 +1,6 @@ # Build context must be the repo root: # docker build -f simulation/Dockerfile -t nim-libp2p/simulation . -FROM nimlang/nim:2.2.6-ubuntu-regular AS build +FROM nimlang/nim:2.2.10-ubuntu-regular AS build WORKDIR /node COPY . . From faeaaca1a9ae6c646059f0493111de4c70582174 Mon Sep 17 00:00:00 2001 From: Constantine Molchanov Date: Mon, 27 Apr 2026 13:42:02 +0400 Subject: [PATCH 2/6] Fix Nim Docker Hub image tag. --- interop/transport/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interop/transport/Dockerfile b/interop/transport/Dockerfile index e7d3c6d0fb..cd92a57f98 100644 --- a/interop/transport/Dockerfile +++ b/interop/transport/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1.5-labs -FROM nimlang/nim:2.2.10-ubuntu-regular as builder +FROM nimlang/nim:2.2.10 as builder WORKDIR /app From 0666f8a789bcb212752806767fba2c091af1de5c Mon Sep 17 00:00:00 2001 From: narimiran Date: Mon, 27 Apr 2026 18:42:59 +0200 Subject: [PATCH 3/6] change dockerfiles --- interop/hole-punching/Dockerfile | 2 +- interop/transport-v2/Dockerfile | 2 +- performance/test_node/Dockerfile | 4 ++-- simulation/Dockerfile | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/interop/hole-punching/Dockerfile b/interop/hole-punching/Dockerfile index 9736bba1f1..477ea92829 100644 --- a/interop/hole-punching/Dockerfile +++ b/interop/hole-punching/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1.5-labs -FROM nimlang/nim:2.2.10-ubuntu-regular as builder +FROM nimlang/nim:2.2.10 as builder WORKDIR /app diff --git a/interop/transport-v2/Dockerfile b/interop/transport-v2/Dockerfile index 1adb6cbaab..cd1cd74e84 100644 --- a/interop/transport-v2/Dockerfile +++ b/interop/transport-v2/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1.5-labs -FROM nimlang/nim:2.2.10-ubuntu-regular as builder +FROM nimlang/nim:2.2.10 as builder WORKDIR /app diff --git a/performance/test_node/Dockerfile b/performance/test_node/Dockerfile index 41e48dbeaa..d949006030 100644 --- a/performance/test_node/Dockerfile +++ b/performance/test_node/Dockerfile @@ -1,5 +1,5 @@ # Create the build image -FROM nimlang/nim:2.2.10-ubuntu-regular AS build +FROM nimlang/nim:2.2.10 AS build WORKDIR /node @@ -19,7 +19,7 @@ RUN nimble c \ performance/test_node/main.nim -FROM nimlang/nim:2.2.10-alpine-slim +FROM nimlang/nim:2.2.10 WORKDIR /node diff --git a/simulation/Dockerfile b/simulation/Dockerfile index f4db96398d..f8362427aa 100644 --- a/simulation/Dockerfile +++ b/simulation/Dockerfile @@ -1,6 +1,6 @@ # Build context must be the repo root: # docker build -f simulation/Dockerfile -t nim-libp2p/simulation . -FROM nimlang/nim:2.2.10-ubuntu-regular AS build +FROM nimlang/nim:2.2.10 AS build WORKDIR /node COPY . . From 8978b07801e478a2cfe148b2c24cb3f89a69494c Mon Sep 17 00:00:00 2001 From: narimiran Date: Mon, 27 Apr 2026 18:46:16 +0200 Subject: [PATCH 4/6] test Nim 2.2.4 instead of 2.0.16 As seen in https://github.com/vacp2p/nim-libp2p/pull/2343 --- .github/copilot-instructions.md | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/daily_amd64.yml | 4 ++-- .github/workflows/daily_i386.yml | 4 ++-- README.md | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index e53befee2f..0380b870ee 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -486,7 +486,7 @@ nimble examples # Build and run C examples | Workflow | Description | |----------|-------------| -| `ci.yml` | Main CI: Linux (amd64/i386), macOS (arm64), Windows; Nim v2.0.16 & v2.2.10 | +| `ci.yml` | Main CI: Linux (amd64/i386), macOS (arm64), Windows; Nim v2.2.4 & v2.2.10 | | `daily_amd64.yml` / `daily_i386.yml` | Extended daily tests | | `daily_ci_report.yml` | Daily CI failure reporting: opens/updates GitHub issues for failed daily CI runs | | `daily_common.yml` | Shared steps/config reused by daily workflows | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b13d9530ca..62129adcbf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,7 +40,7 @@ jobs: cpu: amd64 cc: gcc nim: - - ref: v2.0.16 + - ref: v2.2.4 memory_management: refc - ref: v2.2.10 memory_management: refc diff --git a/.github/workflows/daily_amd64.yml b/.github/workflows/daily_amd64.yml index 01916bb391..1d287d2beb 100644 --- a/.github/workflows/daily_amd64.yml +++ b/.github/workflows/daily_amd64.yml @@ -18,7 +18,7 @@ jobs: uses: ./.github/workflows/daily_common.yml with: nim: "[ - {'ref': 'v2.0.16', 'memory_management': 'refc'}, + {'ref': 'v2.2.4', 'memory_management': 'refc'}, {'ref': 'v2.2.10', 'memory_management': 'refc'}, {'ref': 'devel', 'memory_management': 'refc'}, ]" @@ -36,7 +36,7 @@ jobs: with: pinned_deps: true nim: "[ - {'ref': 'v2.0.16', 'memory_management': 'refc'}, + {'ref': 'v2.2.4', 'memory_management': 'refc'}, {'ref': 'v2.2.10', 'memory_management': 'refc'}, {'ref': 'devel', 'memory_management': 'refc'}, ]" diff --git a/.github/workflows/daily_i386.yml b/.github/workflows/daily_i386.yml index 85083e890e..cb1c4c6944 100644 --- a/.github/workflows/daily_i386.yml +++ b/.github/workflows/daily_i386.yml @@ -15,7 +15,7 @@ jobs: uses: ./.github/workflows/daily_common.yml with: nim: "[ - {'ref': 'v2.0.16', 'memory_management': 'refc'}, + {'ref': 'v2.2.4', 'memory_management': 'refc'}, {'ref': 'v2.2.10', 'memory_management': 'refc'}, {'ref': 'devel', 'memory_management': 'refc'}, ]" @@ -28,7 +28,7 @@ jobs: with: pinned_deps: true nim: "[ - {'ref': 'v2.0.16', 'memory_management': 'refc'}, + {'ref': 'v2.2.4', 'memory_management': 'refc'}, {'ref': 'v2.2.10', 'memory_management': 'refc'}, {'ref': 'devel', 'memory_management': 'refc'}, ]" diff --git a/README.md b/README.md index d222ad6f30..2026b551b2 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Jump into the [contributing](docs/contributing.md) page to get started, `nim-lib ## Install -The currently supported Nim versions are v2.0.16 and v2.2.10. +The currently supported Nim versions are v2.2.4 and v2.2.10. ``` nimble install libp2p From 9980cecfae0a42c387b7094580f98b9fa429ae5f Mon Sep 17 00:00:00 2001 From: narimiran Date: Wed, 29 Apr 2026 17:40:30 +0200 Subject: [PATCH 5/6] bump pinned bearssl version to 0.2.8 This should fix the failing dependency resolution. --- .pinned | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pinned b/.pinned index 2c2fadf675..12ad58cfb8 100644 --- a/.pinned +++ b/.pinned @@ -1,4 +1,4 @@ -bearssl;https://github.com/status-im/nim-bearssl@#b16f70bd8e14abed1c9f03f93757547cf1e95c03 +bearssl;https://github.com/status-im/nim-bearssl@#22c6a76ce015bc07e011562bdcfc51d9446c1e82 chronicles;https://github.com/status-im/nim-chronicles@#e7f87336d2fa47b7752b42f0be4cabd5663a5e5c chronos;https://github.com/status-im/nim-chronos@#45f43a9ad8bd8bcf5903b42f365c1c879bd54240 dnsclient;https://github.com/ba0f3/dnsclient.nim@#23214235d4784d24aceed99bbfe153379ea557c8 From ee62dae66eed47f4ecce86458afa4c0f40bc318d Mon Sep 17 00:00:00 2001 From: narimiran Date: Fri, 1 May 2026 09:17:18 +0200 Subject: [PATCH 6/6] nimble install: change the order --- interop/hole-punching/Dockerfile | 2 +- interop/perf/Dockerfile | 2 +- interop/transport-v2/Dockerfile | 2 +- interop/transport/Dockerfile | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/interop/hole-punching/Dockerfile b/interop/hole-punching/Dockerfile index 477ea92829..44590b9c23 100644 --- a/interop/hole-punching/Dockerfile +++ b/interop/hole-punching/Dockerfile @@ -8,7 +8,7 @@ COPY .pinned libp2p.nimble nim-libp2p/ RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y --no-install-recommends ca-certificates binutils libssl-dev \ && rm -rf /var/lib/apt/lists/* -RUN cd nim-libp2p && nimble install_pinned && nimble install redis -y +RUN cd nim-libp2p && nimble install -y redis && nimble install_pinned COPY . nim-libp2p/ diff --git a/interop/perf/Dockerfile b/interop/perf/Dockerfile index 6b57096d1e..44db351645 100644 --- a/interop/perf/Dockerfile +++ b/interop/perf/Dockerfile @@ -8,7 +8,7 @@ COPY .pinned libp2p.nimble nim-libp2p/ RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y --no-install-recommends ca-certificates binutils \ && rm -rf /var/lib/apt/lists/* -RUN cd nim-libp2p && nimble install_pinned && nimble install redis -y +RUN cd nim-libp2p && nimble install -y redis && nimble install_pinned COPY . nim-libp2p/ diff --git a/interop/transport-v2/Dockerfile b/interop/transport-v2/Dockerfile index cd1cd74e84..fe6cf8bfa4 100644 --- a/interop/transport-v2/Dockerfile +++ b/interop/transport-v2/Dockerfile @@ -8,7 +8,7 @@ COPY .pinned libp2p.nimble nim-libp2p/ RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y --no-install-recommends ca-certificates binutils \ && rm -rf /var/lib/apt/lists/* -RUN cd nim-libp2p && nimble install_pinned && nimble install redis -y +RUN cd nim-libp2p && nimble install -y redis && nimble install_pinned COPY . nim-libp2p/ diff --git a/interop/transport/Dockerfile b/interop/transport/Dockerfile index cd92a57f98..a698356cce 100644 --- a/interop/transport/Dockerfile +++ b/interop/transport/Dockerfile @@ -8,7 +8,7 @@ COPY .pinned libp2p.nimble nim-libp2p/ RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y --no-install-recommends ca-certificates binutils \ && rm -rf /var/lib/apt/lists/* -RUN cd nim-libp2p && nimble install_pinned && nimble install redis -y +RUN cd nim-libp2p && nimble install -y redis && nimble install_pinned COPY . nim-libp2p/