summaryrefslogtreecommitdiff
path: root/daisy_workflows/build_el.wf.json
blob: 13303fd0f752fafe5bc54d01144218a17e80e3d5 (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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
{
  "Name": "build-el-packages",
  "Vars": {
    "output_path": {
      "Value": "${OUTSPATH}",
      "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_el_packages.sh": "./build_el_packages.sh"
  },
  "Steps": {
    "setup-disk": {
      "CreateDisks": [
        {
          "Name": "disk-el8-build",
          "SourceImage": "projects/rhel-cloud/global/images/family/rhel-8",
          "SizeGb": "10",
          "Type": "pd-ssd"
        },
        {
          "Name": "disk-el7-build",
          "SourceImage": "projects/centos-cloud/global/images/family/centos-7",
          "SizeGb": "10",
          "Type": "pd-ssd"
        },
        {
          "Name": "disk-el6-build",
          "SourceImage": "projects/centos-cloud/global/images/family/centos-6",
          "SizeGb": "10",
          "Type": "pd-ssd"
        }
      ]
    },
    "package-build": {
      "CreateInstances": [
        {
          "Name": "inst-el8-build",
          "Disks": [
            {"Source": "disk-el8-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_el_packages.sh"
        },
        {
          "Name": "inst-el7-build",
          "Disks": [
            {"Source": "disk-el7-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_el_packages.sh"
        },
        {
          "Name": "inst-el6-build",
          "Disks": [
            {"Source": "disk-el6-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_el_packages.sh"
        }
      ]
    },
    "wait-for-build": {
      "WaitForInstancesSignal": [
        {
          "Name": "inst-el8-build",
          "SerialOutput": {
            "Port": 1,
            "SuccessMatch": "BuildSuccess:",
            "FailureMatch": "BuildFailed:"
          }
        },
        {
          "Name": "inst-el7-build",
          "SerialOutput": {
            "Port": 1,
            "SuccessMatch": "BuildSuccess:",
            "FailureMatch": "BuildFailed:"
          }
        },
        {
          "Name": "inst-el6-build",
          "SerialOutput": {
            "Port": 1,
            "SuccessMatch": "BuildSuccess:",
            "FailureMatch": "BuildFailed:"
          }
        }
      ]
    }
  },
  "Dependencies": {
    "package-build": ["setup-disk"],
    "wait-for-build": ["package-build"]
  }
}