summaryrefslogtreecommitdiff
path: root/daisy_workflows/build_debian.wf.json
blob: c47fdccfe468b8281ea7862cd713cbd1e641fafa (plain)
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
{
  "Name": "build-debian-packages",
  "Vars": {
    "output_path": {
      "Description": "GCS output path for packages."
    },
    "github_repo": {
      "Value": "https://github.com/GoogleCloudPlatform/compute-image-packages.git",
      "Description": "Github repo to build packages from."
    },
    "github_branch": {
      "Value": "master",
      "Description": "Github branch to build packages from."
    }
  },
  "Sources": {
    "build_deb_packages.sh": "./build_deb_packages.sh"
  },
  "Steps": {
    "setup-disk": {
      "CreateDisks": [
        {
          "Name": "disk-deb-build",
          "SourceImage": "projects/debian-cloud/global/images/family/debian-9",
          "SizeGb": "10",
          "Type": "pd-ssd"
        }
      ]
    },
    "package-build": {
      "CreateInstances": [
        {
          "Name": "inst-deb-build",
          "Disks": [
            {"Source": "disk-deb-build"}
          ],
          "MachineType": "n1-standard-2",
          "Metadata": {
            "github_branch": "${github_branch}",
            "github_repo": "${github_repo}",
            "output_path": "${output_path}"
          },
          "Scopes": ["https://www.googleapis.com/auth/devstorage.read_write"],
          "StartupScript": "build_deb_packages.sh"
        }
      ]
    },
    "wait-for-build": {
      "WaitForInstancesSignal": [
        {
          "Name": "inst-deb-build",
          "SerialOutput": {
            "Port": 1,
            "SuccessMatch": "BuildSuccess:",
            "FailureMatch": "BuildFailed:"
          }
        }
      ]
    }
  },
  "Dependencies": {
    "package-build": ["setup-disk"],
    "wait-for-build": ["package-build"]
  }
}