Skip to content

chore(ci): test Nim 2.2.4 and 2.2.10#2339

Merged
richard-ramos merged 10 commits into
vacp2p:masterfrom
narimiran:nim-2210
May 1, 2026
Merged

chore(ci): test Nim 2.2.4 and 2.2.10#2339
richard-ramos merged 10 commits into
vacp2p:masterfrom
narimiran:nim-2210

Conversation

@narimiran
Copy link
Copy Markdown
Contributor

@narimiran narimiran commented Apr 27, 2026

Summary

This PR updates the used/tested Nim version from 2.2.6 to 2.2.10.
EDIT: And, as added later on (based on #2343), it also replaces Nim 2.0.16 with 2.2.4.

Compatibility & Downstream Validation

Nim 2.2.10 allows nim-libp2p tests to also run with --mm:orc. (Not part of this PR)

References

First tested in #2148, but here is a complete search-and-replace of v2.2.6 with v2.2.10.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates nim-libp2p’s pinned/tested Nim toolchain version references from v2.2.6 to v2.2.10 across CI, docs, and Docker-based build environments to keep the repo aligned with the intended supported compiler versions.

Changes:

  • Bump GitHub Actions workflows using nim_ref / matrix ref from v2.2.6 to v2.2.10.
  • Update Docker images used by simulation, interop, and performance test nodes to nimlang/nim:2.2.10 variants.
  • Update documentation references (README + Copilot instructions) to reflect Nim v2.2.10 support.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
simulation/Dockerfile Updates build image Nim tag to 2.2.10 for simulation container builds.
performance/test_node/Dockerfile Updates both build and runtime Nim images to 2.2.10 for perf test node container.
interop/transport/Dockerfile Updates interop transport builder image to Nim 2.2.10.
interop/transport-v2/Dockerfile Updates interop transport-v2 builder image to Nim 2.2.10.
interop/hole-punching/Dockerfile Updates interop hole-punching builder image to Nim 2.2.10.
README.md Updates stated supported Nim versions to include 2.2.10 (instead of 2.2.6).
.github/workflows/examples.yml Runs examples workflow against Nim v2.2.10.
.github/workflows/daily_tests_no_flags.yml Runs daily “no flags” tests on Nim v2.2.10.
.github/workflows/daily_i386.yml Updates daily i386 matrix Nim v2.2.x entry to v2.2.10.
.github/workflows/daily_amd64.yml Updates daily amd64 matrix Nim v2.2.x entry to v2.2.10.
.github/workflows/ci.yml Updates main CI Nim matrix from v2.2.6 to v2.2.10.
.github/workflows/cbindings.yml Updates cbindings workflow to use Nim v2.2.10.
.github/copilot-instructions.md Updates documented CI Nim version reference to v2.2.10.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.40%. Comparing base (b9dc116) to head (ee62dae).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2339      +/-   ##
==========================================
- Coverage   73.41%   73.40%   -0.02%     
==========================================
  Files         168      168              
  Lines       22261    22261              
  Branches       20       20              
==========================================
- Hits        16343    16340       -3     
- Misses       5918     5921       +3     

see 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment thread interop/transport/Dockerfile Outdated
@@ -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
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from ci:

ERROR: failed to build: failed to solve: nimlang/nim:2.2.10-ubuntu-regular: failed to resolve source metadata for docker.io/nimlang/nim:2.2.10-ubuntu-regular: docker.io/nimlang/nim:2.2.10-ubuntu-regular: not found

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pinging @moigagoo, he might know more....

Copy link
Copy Markdown

@moigagoo moigagoo Apr 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@narimiran thanks for the ping!

As part of the preparation for making the images official (docker-library/official-images#19453), I've removed a lot of cruft and switched to the officially encouraged tag naming.

This should work:

FROM nimlang/nim:2.2.10 as builder

Ubuntu regular is now the only flavor being shipped so ubuntu-regular is redundant.

Comment thread performance/test_node/Dockerfile Outdated
@github-project-automation github-project-automation Bot moved this from new to In Progress in nim-libp2p Apr 27, 2026
@richard-ramos
Copy link
Copy Markdown
Member

🤔 it seems it can't find "redis" with this change? https://github.com/vacp2p/nim-libp2p/actions/runs/24987822171/job/73165496804?pr=2339

@narimiran narimiran changed the title chore: use Nim 2.2.10 chore(ci): test Nim 2.2.4 and 2.2.10 Apr 27, 2026
@narimiran
Copy link
Copy Markdown
Contributor Author

🤔 it seems it can't find "redis" with this change? https://github.com/vacp2p/nim-libp2p/actions/runs/24987822171/job/73165496804?pr=2339

From what I can tell, nimble fails on packages dependency resolution when running nimble install_pinned.

See if you maybe need to change some package versions in .pinned?

@narimiran narimiran requested a review from moigagoo April 27, 2026 18:23
@narimiran
Copy link
Copy Markdown
Contributor Author

From what I can tell, nimble fails on packages dependency resolution when running nimble install_pinned.

See if you maybe need to change some package versions in .pinned?

Yep, that indeed seems to be the case: #2348 (comment)

narimiran and others added 2 commits April 29, 2026 17:40
This should fix the failing dependency resolution.
@richard-ramos
Copy link
Copy Markdown
Member

@narimiran,
These errors reported in the 2.2.4 jobs... could they be related to the nim version?

   Fetching https://github.com/status-im/nim-chronos (>= 4.0.4) using git
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
/home/runner/work/_temp/a75b5ee6-9934-452e-9f71-cad12620b223.sh: line 14: 13654 Segmentation fault      (core dumped) nimble test

I am not sure what is this a75b5ee6-9934-452e-9f71-cad12620b223.sh file about.

@narimiran
Copy link
Copy Markdown
Contributor Author

These errors reported in the 2.2.4 jobs

How about leaving 2.0.16 as it were, and just add 2.2.10? (Like it was done initially in this PR, before I got the idea from #2343)

@narimiran
Copy link
Copy Markdown
Contributor Author

On the other hand, now I've seen #2380 - so let's rebase/merge it one more time and see if that helps.

@narimiran
Copy link
Copy Markdown
Contributor Author

IT'S GREEN!!! IT'S FINALLY GREEN!!

There were a lot of debug commits and banging my head on wall (rebased, so not visible anymore), but the problematic interop test is finally green!
And all it took was some reordering of the nimble command (see the latest commit for details).

Should be ready for merge now. (cc @richard-ramos)

@richard-ramos
Copy link
Copy Markdown
Member

lol that test was cursed, good catch on the nimble ordering, @narimiran!

@richard-ramos richard-ramos merged commit 73f28ec into vacp2p:master May 1, 2026
35 of 36 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to done in nim-libp2p May 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

7 participants