aboutsummaryrefslogtreecommitdiff
path: root/cluster/staging/app/ci/deploy/builder.hcl
blob: b19e23b89d3cf4b2b49589f0f0412054906133e5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
job "builder" {
  namespace = "ci"
  type = "batch"

  datacenters = ["neptune", "jupiter", "corrin", "bespin"]
  priority = 100

  parameterized {
    payload = "forbidden"
    meta_required = [ "REPO_URL", "COMMIT", "BRANCH" ]
  }

  reschedule {
    attempts = 0
    unlimited = false
  }

  task "runner" {
    driver = "docker"
    config {
      image = "nixpkgs/nix:nixos-22.11"
      args = [ "/tmp/builder.sh" ]
      volumes = [ 
        "local/builder.sh:/tmp/builder.sh",
        "local/nix.conf:/etc/nix/nix.conf"
      ]
    }

    template {
      data = <<EOH
#!/usr/bin/env bash
set -euxo pipefail

mkdir /workspace
cd /workspace
git init 
git remote add origin ${NOMAD_META_REPO_URL}
git fetch origin ${NOMAD_META_COMMIT}
git checkout ${NOMAD_META_COMMIT} -b ${NOMAD_META_BRANCH}
export COMMIT=${NOMAD_META_COMMIT}
export BRANCH=${NOMAD_META_BRANCH}
./build.sh

      EOH
      destination = "local/builder.sh"
      perms = "555"
    }

    template {
      data = <<EOH
substituters = https://cache.nixos.org https://nix.web.deuxfleurs.fr
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= nix.web.deuxfleurs.fr:eTGL6kvaQn6cDR/F9lDYUIP9nCVR/kkshYfLDJf1yKs=
max-jobs = auto
cores = 0
log-lines = 200
filter-syscalls = false
sandbox = false
keep-outputs = true
keep-derivations = true
      EOH
      destination = "local/nix.conf"
    }

    restart {
      attempts = 0
    }

    resources {
        cpu    = 1000
        memory = 2000
        memory_max = 2500
    }
  }
}