{ "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"] } }