let pkgs = import {}; zc706 = import { mozillaOverlay = import ; }; artiq-zynq = import { mozillaOverlay = import ; }; artiq-fast = import { inherit pkgs; }; addBuildProducts = drv: drv.overrideAttrs (oldAttrs: { installPhase = '' ${oldAttrs.installPhase} mkdir -p $out/nix-support for f in $out/*.elf ; do echo file binary-dist $f >> $out/nix-support/hydra-build-products done ''; }); in ( builtins.mapAttrs (name: drv: pkgs.lib.hydraJob ( addBuildProducts drv ) ) zc706.zc706 ) // ( builtins.mapAttrs (key: value: pkgs.lib.hydraJob value) artiq-zynq ) // { zc706-hitl-tests = pkgs.lib.hydraJob (pkgs.stdenv.mkDerivation { name = "zc706-hitl-tests"; # requires patched Nix __networked = true; buildInputs = [ pkgs.openssh pkgs.rsync artiq-fast.artiq ]; phases = [ "buildPhase" ]; buildPhase = '' cd ${} export USER=hydra bash ${}/remote_run.sh -h rpi-4 -o "-F /dev/null -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=ERROR -i /opt/hydra_id_rsa" -d ${artiq-zynq.zc706-simple-jtag} sleep 15 cd examples artiq_run mandelbrot.py touch $out ''; }); }