From d4272b6b4318d576d9368cfbd47affca5aa20f25 Mon Sep 17 00:00:00 2001 From: Gabriel Gonzalez Date: Thu, 10 Sep 2020 19:21:52 -0700 Subject: [PATCH] Fix CI to check that generation script has run MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit … based on the discussion in #138 CI wasn't checking that the `./scripts/generate.sh` script had been run, which this change fixes --- nix/nixpkgs.nix | 44 +++++++++++++++++++++++++++++++------------- release.nix | 3 ++- 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/nix/nixpkgs.nix b/nix/nixpkgs.nix index e254bb1..9a4b941 100644 --- a/nix/nixpkgs.nix +++ b/nix/nixpkgs.nix @@ -88,7 +88,7 @@ let in ''echo './${inputFile} → ./${outputFile}' ${pkgsNew.dhall-json}/bin/dhall-to-yaml --file $out/${inputFile} > $out/${outputFile} - ''; + ''; in pkgsNew.runCommand "package-${drv.name}" { XDG_CACHE_HOME="."; } '' @@ -106,15 +106,40 @@ let outputFile = "README.md"; in - pkgsNew.lib.optionalString (version == preferredVersion) - ''echo './${inputFile} → ./${outputFile}' - ${pkgsNew.dhall}/bin/dhall text --file $out/${inputFile} | ${pkgsNew.gnused}/bin/sed 's_\.\./package.dhall_https://raw.githubusercontent.com/dhall-lang/dhall-kubernetes/master/package.dhall_g' > $out/${outputFile} - '' + if (version == preferredVersion) + then + ''echo './${inputFile} → ./${outputFile}' + + ${pkgsNew.dhall}/bin/dhall text --file $out/${inputFile} | ${pkgsNew.gnused}/bin/sed 's_\.\./package.dhall_https://raw.githubusercontent.com/dhall-lang/dhall-kubernetes/master/package.dhall_g' > $out/${outputFile} + '' + else + '' + ${pkgsNew.coreutils}/bin/rm --recursive $out/examples + '' } + ${pkgsNew.coreutils}/bin/rm --recursive $out/docs ''; dhall-kubernetes = pkgsNew.callPackage ./dhall-kubernetes.nix {}; + dhall-kubernetes-tests = + let + process = version: derivation: { + name = "${version}-test"; + value = + pkgsNew.runCommand "test-dhall-kubernetes-${version}" {} '' + ${pkgsNew.rsync}/bin/rsync --archive ${derivation}/ ./${version}.expected + ${pkgsNew.rsync}/bin/rsync --archive ${../. + "/${version}"}/ ./${version}.actual + + ${pkgsNew.diffutils}/bin/diff --recursive ./${version}.{actual,expected} + + touch $out + ''; + }; + + in + pkgsNew.lib.mapAttrs' process pkgsNew.dhall-kubernetes; + haskellPackages = pkgsOld.haskellPackages.override (old: { overrides = let @@ -123,14 +148,7 @@ let extension = haskellPackagesNew: haskellPackagesOld: { dhall-openapi = let - json = - builtins.fromJSON (builtins.readFile ./dhall-haskell.json); - - dhall-haskell = pkgsNew.fetchFromGitHub { - owner = "dhall-lang"; - repo = "dhall-haskell"; - inherit (json) rev sha256 fetchSubmodules; - }; + dhall-haskell = ~/proj/dhall-haskell; in (import "${dhall-haskell}/default.nix").dhall-openapi; diff --git a/release.nix b/release.nix index 1a736a5..1d7aee7 100644 --- a/release.nix +++ b/release.nix @@ -12,7 +12,8 @@ let # master in). rev = pkgs.runCommand "rev" {} ''echo "${src.rev}" > $out''; } // builtins.removeAttrs pkgs.dhall-kubernetes - [ "override" "overrideDerivation" ]; + [ "override" "overrideDerivation" ] + // pkgs.dhall-kubernetes-tests; dhall-kubernetes = pkgs.releaseTools.aggregate { name = "dhall-kubernetes-aggregate";