From 3373c59b903cfcccedf31278f9f18ea305e3a567 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Wed, 23 Mar 2022 10:23:13 +0100 Subject: CI: Use nixbuild.net The build takes place on the remote, which takes advantage of Nix's caching. The previous workflow used a remote cache but in order to build locally, all the dependencies needed to be downloaded from the cache everytime. The dependencies are 462M, downloading took most of the time. --- shell.nix | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) (limited to 'shell.nix') diff --git a/shell.nix b/shell.nix index 8036a5e..1ee5012 100644 --- a/shell.nix +++ b/shell.nix @@ -1,19 +1,35 @@ { pkgs ? import { - config.android_sdk.accept_license = true; - config.allowUnfree = true; - } }: + config.android_sdk.accept_license = true; + config.allowUnfree = true; +} }: let - jdk = pkgs.openjdk8; - android = pkgs.androidenv.composeAndroidPackages { buildToolsVersions = [ "30.0.3" ]; platformVersions = [ "30" ]; abiVersions = [ "armeabi-v7a" ]; }; -in -pkgs.mkShell { - buildInputs = [ pkgs.findutils jdk android.androidsdk pkgs.fontforge ]; + buildInputs = + [ pkgs.findutils pkgs.openjdk8 android.androidsdk pkgs.fontforge ]; + + # Env variable required by the Makefile ANDROID_HOME = "${android.androidsdk}/libexec/android-sdk"; + + # Build the debug APK. Exposed as an attribute, used in CI + debug-apk = pkgs.stdenv.mkDerivation { + name = "unexpected-keyboard-debug"; + src = ./.; + inherit buildInputs ANDROID_HOME; + buildPhase = '' + make + ''; + installPhase = '' + mkdir -p $out + mv _build/*.apk $out + ''; + }; + +in pkgs.mkShell { inherit buildInputs ANDROID_HOME; } // { + inherit debug-apk; } -- cgit v1.2.3