If you use Nix to manage build and runtime dependencies you can be confident that you will always have the correct versions for the branch you are on, and that these will be exactly the same as those versions used in CI.
It is possible to specify any git revision for the dependency and Nix will automatically build it – unless it has already been built by Hydra – in which case the build result will be downloaded instead.
nix develop contains build tools, utilities and GHC configured with a global package-db which matches
stack.yaml. This is defined in the
devShell attribute of
On Buildkite, the project will be built with
cabal build in a particular Nix shell. The Nix shell provisioned is defined by
nix/cabal-shell.nix. If there is a program that is needed by the build or tests, make sure that it is present there.
nix flake lock
Updating node backends
cardano-node Haskell dependencies
These are defined by the
It points to a file in
To bump to a new version:
- Make a copy of the latest snapshot file.
Update the dependency revisions to match your chosen version of
cardano-node/cabal.project. Refer to
stack.yamlbecause it is more likely to be correct.
extra-depsare correct and there are no conflicts with those in
./nix/regenerate.sh(or let Buildkite do it)
Open a PR on
Temporarily the snapshot URL in
cardano-wallet/stack.yamlto point to the PR branch so that you can test the build.
resolver file can also refer to a local file path – so you needn’t necessarily open a PR on
cardano-haskell to make a temporary change.
Follow the instructions in