Skip to content

Commit

Permalink
Add nix-shell to hydraJobs.nix (#937)
Browse files Browse the repository at this point in the history
  • Loading branch information
zeme-wana committed Feb 8, 2023
1 parent 019a874 commit 2f3e731
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 21 deletions.
11 changes: 11 additions & 0 deletions __std__/cells/plutus-apps/library/make-plutus-apps-project.nix
Expand Up @@ -66,6 +66,7 @@ let
plutus-chain-index-core.package.buildable = false;
plutus-contract.package.buildable = false;
plutus-contract-certification.package.buildable = false;
plutus-e2e-tests.package.buildable = false;
plutus-errors.package.buildable = false;
plutus-ledger.package.buildable = false;
plutus-ledger-constraints.package.buildable = false;
Expand Down Expand Up @@ -145,6 +146,16 @@ let
plutus-contract.doHaddock = deferPluginErrors;
plutus-contract.flags.defer-plugin-errors = deferPluginErrors;

plutus-e2e-tests.doHaddock = deferPluginErrors;
plutus-e2e-tests.flags.defer-plugin-errors = deferPluginErrors;
plutus-e2e-tests.preCheck = "
export CARDANO_CLI=${config.hsPkgs.cardano-cli.components.exes.cardano-cli}/bin/cardano-cli${pkgs.stdenv.hostPlatform.extensions.executable}
export CARDANO_NODE=${config.hsPkgs.cardano-node.components.exes.cardano-node}/bin/cardano-node${pkgs.stdenv.hostPlatform.extensions.executable}
export CARDANO_NODE_SRC=${src}
";
plutus-e2e-tests.components.tests.plutus-e2e-tests-test.build-tools =
lib.mkForce (with pkgs.buildPackages; [ jq coreutils shellcheck lsof ]);

plutus-use-cases.doHaddock = deferPluginErrors;
plutus-use-cases.flags.defer-plugin-errors = deferPluginErrors;

Expand Down
6 changes: 3 additions & 3 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 6 additions & 1 deletion hydraJobs.nix
Expand Up @@ -6,6 +6,8 @@ let

pkgs = top-level.pkgs;

nix-shell = import ./shell.nix { inherit system; };

make-haskell-jobs = project:
let
packages = pkgs.haskell-nix.haskellLib.selectProjectPackages project.hsPkgs;
Expand All @@ -26,7 +28,10 @@ let

windows-plutus-apps-jobs = make-haskell-jobs plutus-project.projectCross.mingwW64;

other-jobs = { inherit (top-level) tests docs plutus-use-cases; };
other-jobs = {
inherit (top-level) tests docs plutus-use-cases;
inherit nix-shell;
};

jobs =
{ native = native-plutus-apps-jobs; } //
Expand Down
22 changes: 15 additions & 7 deletions nix/pkgs/default.nix
Expand Up @@ -53,13 +53,21 @@ let

scriv = pkgs.python3Packages.callPackage ./scriv { };

# By default pre-commit-hooks.nix uses its own pinned version of nixpkgs. In order to
# to get it to use our version we have to (somewhat awkwardly) use `nix/default.nix`
# to which both `nixpkgs` and `system` can be passed.
nix-pre-commit-hooks = (pkgs.callPackage (sources.pre-commit-hooks-nix + "/nix/default.nix") {
inherit system;
inherit (sources) nixpkgs;
});
# Hydra is using flakes to build hydraJobs.nix, which includes the shell from shell.nix,
# which includes nix-pre-commit-hook, which at some point during evaluation was hitting
# builtins.currentSystem, which is undefined when using flakes.
# In order to avoid this problem we need to import nix-pre-commit-hooks as a flake.
nix-pre-commit-hooks = (import sources.flake-compat {
inherit pkgs;
src = builtins.fetchTree
{
type = "github";
owner = "cachix";
repo = "pre-commit-hooks.nix";
rev = "ab608394886fb04b8a5df3cb0bab2598400e3634";
narHash = "sha256-oit/SxMk0B380ASuztBGQLe8TttO1GJiXF8aZY9AYEc=";
};
}).defaultNix.lib.${pkgs.system};

# sphinx haddock support
sphinxcontrib-haddock = pkgs.callPackage (sources.sphinxcontrib-haddock) { pythonPackages = pkgs.python3Packages; };
Expand Down
24 changes: 14 additions & 10 deletions shell.nix
Expand Up @@ -23,14 +23,18 @@ let
narHash = "sha256-3Rnj/g3KLzOW5YSieqsUa9IF1Td22Eskk5KuVsOFgEQ=";
};
}).defaultNix;
cardano-node = import
(pkgs.fetchgit {
url = "https://github.com/input-output-hk/cardano-node";
# A standard release compatible with the cardano-wallet commit above is always preferred.
rev = "1.35.4";
sha256 = "1j01m2cp2vdcl26zx9xmipr551v3b2rz9kfn9ik8byfwj1z7652r";
})
{ };

cardano-node = (import sources.flake-compat {
inherit pkgs;
src = builtins.fetchTree
{
type = "github";
owner = "input-output-hk";
repo = "cardano-node";
rev = "ebc7be471b30e5931b35f9bbc236d21c375b91bb";
narHash = "sha256-WRRzfpDc+YVmTNbN9LNYY4dS8o21p/6NoKxtcZmoAcg=";
};
}).defaultNix;

# For Sphinx, scriv, and ad-hoc usage
pythonTools = python3.withPackages (ps: [
Expand Down Expand Up @@ -109,8 +113,8 @@ let
# local build inputs ( -> ./nix/pkgs/default.nix )
localInputs = (with plutus-apps; [
cabal-install
cardano-node.cardano-cli
cardano-node.cardano-node
cardano-node.packages.${pkgs.system}.cardano-cli
cardano-node.packages.${pkgs.system}.cardano-node
cardano-wallet.packages.${pkgs.system}.cardano-wallet
cardano-repo-tool
docs.build-and-serve-docs
Expand Down

0 comments on commit 2f3e731

Please sign in to comment.