Add runHydra shell

[?]
May 13, 2020, 3:37 PM
KPWMZFHZXW5CEWXXTB4JDAJLOX42UNGKFULA3FAGQJAPSTSTFNKAC

Dependencies

  • [2] GBCPEGYC Add a .gitignore
  • [3] RWNXH3H2 lastModified -> lastModifiedDate
  • [4] 75BCCX2T Get rid of dependency to SQLite
  • [*] CLXEECMF * Start putting build results in a database.

Change contents

  • edit in .gitignore at line 6
    [2.36]
    [2.36]
    .hydra-data
  • file addition: Procfile (----------)
    [6.2]
    hydra-server: ./scripts/start-hydra.sh
    hydra-queue-runner: ./scripts/start-queue-runner.sh
    hydra-evaluator: ./scripts/start-evaluator.sh
    postgres: ./scripts/start-postgres.sh
  • edit in flake.nix at line 107
    [3.3246][3.3246:3297]()
    postgresql95 # for running the tests
  • edit in flake.nix at line 113
    [3.3499]
    [3.3499]
    checkInputs = [
    postgresql95
    ];
  • edit in flake.nix at line 296
    [3.10097]
    [3.10097]
    runHydra = pkgs.callPackage ./run-hydra.nix {};
  • file addition: run-hydra.nix (----------)
    [6.2]
    { foreman, mkShell, hydra, netcat, postgresql95 }:
    { doCheck ? true }:
    mkShell {
    buildInputs = [
    foreman (hydra.overrideAttrs (_: { inherit doCheck; })) netcat postgresql95
    ];
    shellHook = ''
    export HYDRA_HOME="src/"
    mkdir -p .hydra-data
    export HYDRA_DATA="$(pwd)/.hydra-data"
    export HYDRA_DBI='dbi:Pg:dbname=hydra;host=localhost;'
    exec foreman start
    '';
    }
  • file addition: scripts (d--r------)
    [6.2]
  • file addition: start-evaluator.sh (---r------)
    [0.778]
    #!/bin/sh
    # wait for hydra-server to listen
    while ! nc -z localhost 3000; do sleep 1; done
    exec hydra-evaluator
  • file addition: start-hydra.sh (---r------)
    [0.778]
    #!/bin/sh
    # wait for postgresql to listen
    while ! nc -z localhost 5432; do sleep 1; done
    createdb -h $(pwd)/.hydra-data/postgres hydra
    hydra-init
    hydra-create-user alice --password foobar --role admin
    exec hydra-server
  • file addition: start-postgres.sh (---r------)
    [0.778]
    #!/bin/sh
    initdb ./.hydra-data/postgres
    exec postgres -D ./.hydra-data/postgres -k $(pwd)/.hydra-data/postgres
  • file addition: start-queue-runner.sh (---r------)
    [0.778]
    #!/bin/sh
    # wait until hydra is listening on port 3000
    while ! nc -z localhost 3000; do sleep 1; done
    hydra-queue-runner