Skip to content

Use Nix derivations to run Nimbus software #276

@jakubgs

Description

@jakubgs

We've had weird failures in the past when building Nimbus software locally, ones like this:

error: cannot lock ref 'refs/remotes/origin/test/lsquic/dirs': 'refs/remotes/origin/test' exists; cannot create 'refs/remotes/origin/test/lsquic/dirs'
 ! [new branch]          test/lsquic/dirs       -> origin/test/lsquic/dirs  (unable to update local ref)
Fetching submodule vendor/nimbus-build-system
From https://github.com/status-im/nimbus-build-system
   67f3958..4b26def  master     -> origin/master
Errors during submodule fetch:
        vendor/nim-libp2p
update-beacon-node-hoodi-testing.service: Main process exited, code=exited, status=1/FAILURE

Which block testing of new software versions on the fleets and require manual intervention.

Ever since the NBS module has been properly implemented in Nix in nimbus-eth2 and nimbus-eth1:

We can now drop the ugly build.sh script in favor of simply calling:

nix build 'git+https://github.com/status-im/nimbus-eth2?ref=testing&submodules=1#beacon_node'

To build latest testing branch commit. We should test this approach on a single Hoodi host to see how well it works.

In addition, we should implement a Consul check that confirms via REST API call that the current running node has a recent enough commit from its respective build branch, and if it's for example older than 1 day mark it as warning and more than 2 days as critical.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions