Skip to content

Commit

Permalink
Move IFD expressions to checks.nix
Browse files Browse the repository at this point in the history
  • Loading branch information
danielfullmer committed Jan 23, 2022
1 parent ee5cebf commit b097343
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 19 deletions.
21 changes: 21 additions & 0 deletions check.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,31 @@ let
lib = pkgs.lib;
robotnix = configuration: import ./default.nix { inherit configuration pkgs; };
configs = import ./configs.nix { inherit lib; };

# TODO: Reunify with module in reproducibility reports
snakeoilSignedModule = { config, ... }: let
snakeoilKeys = pkgs.runCommand "snakeoil-keys" {} ''
mkdir -p $out
${config.build.generateKeysScript} $out
'';
in {
signing.enable = true;
signing.keyStorePath = builtins.toString snakeoilKeys;
signing.buildTimeKeyStorePath = "${snakeoilKeys}";
};
in {
check = lib.recurseIntoAttrs (lib.mapAttrs (name: c: (robotnix c).config.build.checkAndroid) configs);

lineageosCheck = let
deviceMetadata = lib.importJSON ./flavors/lineageos/device-metadata.json;
in lib.mapAttrs (name: x: (robotnix { device=name; flavor="lineageos"; }).config.build.checkAndroid) deviceMetadata;

# Generates img and ota files for each configuration using snakeoil keys
# Uses IFD
signingCheck = lib.mapAttrs (name: c: { inherit (robotnix { imports = [ snakeoilSignedModule c ]; }) img ota; }) {
"lineageos-10" = { device="marlin"; flavor="lineageos"; androidVersion=10; };
"vanilla-10" = { device="sunfish"; flavor="vanilla"; androidVersion=10; apv.enable=false; pixel.useUpstreamDriverBinaries=true; }; # APV not working on Android 10...
"vanilla-11" = { device="sunfish"; flavor="vanilla"; androidVersion=11; };
"vanilla-12" = { device="sunfish"; flavor="vanilla"; androidVersion=12; };
};
}
19 changes: 0 additions & 19 deletions release.nix
Original file line number Diff line number Diff line change
Expand Up @@ -28,31 +28,12 @@ let
'';
};

# TODO: Reunify with module in reproducibility reports
snakeoilSignedModule = { config, ... }: let
snakeoilKeys = pkgs.runCommand "snakeoil-keys" {} ''
mkdir -p $out
${config.build.generateKeysScript} $out
'';
in {
signing.enable = true;
signing.keyStorePath = builtins.toString snakeoilKeys;
signing.buildTimeKeyStorePath = "${snakeoilKeys}";
};
in
{
inherit (pkgs) diffoscope;

imgs = lib.mapAttrs (name: c: c.img) builtConfigs;

# Generates img and ota files for each configuration using snakeoil keys
signingCheck = lib.mapAttrs (name: c: { inherit (robotnix { imports = [ snakeoilSignedModule c ]; }) img ota; }) {
"lineageos-10" = { device="marlin"; flavor="lineageos"; androidVersion=10; };
"vanilla-10" = { device="sunfish"; flavor="vanilla"; androidVersion=10; apv.enable=false; pixel.useUpstreamDriverBinaries=true; }; # APV not working on Android 10...
"vanilla-11" = { device="sunfish"; flavor="vanilla"; androidVersion=11; };
"vanilla-12" = { device="sunfish"; flavor="vanilla"; androidVersion=12; };
};

# For testing instantiation
vanilla-arm64 = {
inherit (defaultBuild)
Expand Down

0 comments on commit b097343

Please sign in to comment.