status-im / infra-nimbus

Infrastructure for Nimbus cluster
https://nimbus.team
8 stars 6 forks source link

Nim 2.0 version testing #165

Open etan-status opened 4 months ago

etan-status commented 4 months ago

It would be great if some of the Nimbus deployments would be compiled using Nim upstream/version-2-0 with --mm:refc instead of the default 1.6 version. upstream/version-2-0 has been stable as far as compilation is concerned for quite a while now.

Right now, especially on Windows there still are issues with multithreading, so expecting instability there. Seeing that confirmed on the fleet as well, and seeing whether macOS / Linux exhibit issues would be great to track when things improve. Problem visible in eg https://github.com/cheatfate/nimcrypto/actions/runs/7306516072/job/19911286657

Have to make sure to use NIM_COMMIT=upstream/version-2-0 instead of just version-2-0 because sometimes people push outdated version-2-0 branch to origin (status-im fork). The Nim build script adds a second remote upstream that tracks nim-lang repo. Can also see nimbus-eth2 CI for the config. And, the --mm:refc needs to be passed as well from 2.0 onward as the default got changed to orc. It's fine to also pass --mm:refc to 1.6 but there it's a nop as it's already the default.

tersec commented 4 months ago

https://github.com/status-im/infra-nimbus/pull/167 but didn't check whether it gets --mm:refc correct. Depending on how it's built, this is part of https://github.com/status-im/nimbus-eth2/blob/c5cb0ea3f6ec0ad3af76524ea7ec0eb1da0b973d/config.nims#L139

--mm:refc