mirror of
https://github.com/servo/servo.git
synced 2025-07-03 21:43:41 +01:00
Classy
This commit is contained in:
parent
6a011f0e30
commit
e566906bef
2 changed files with 119 additions and 116 deletions
|
@ -1,10 +1,12 @@
|
||||||
# coding: utf8
|
# coding: utf8
|
||||||
|
|
||||||
from decisionlib import *
|
from decisionlib import DecisionTask
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
build_task = create_task_with_in_tree_dockerfile(
|
decision = DecisionTask()
|
||||||
|
|
||||||
|
build_task = decision.create_task_with_in_tree_dockerfile(
|
||||||
task_name="build task",
|
task_name="build task",
|
||||||
command="./build-task.sh",
|
command="./build-task.sh",
|
||||||
image="servo-x86_64-linux",
|
image="servo-x86_64-linux",
|
||||||
|
@ -25,7 +27,7 @@ def main():
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
create_task(
|
decision.create_task(
|
||||||
task_name="run task",
|
task_name="run task",
|
||||||
command="./run-task.sh",
|
command="./run-task.sh",
|
||||||
image="buildpack-deps:bionic-scm",
|
image="buildpack-deps:bionic-scm",
|
||||||
|
|
|
@ -33,18 +33,19 @@ DOCKER_IMAGE_ARTIFACT_FILENAME = "image.tar.lz4"
|
||||||
REPO = os.path.dirname(__file__)
|
REPO = os.path.dirname(__file__)
|
||||||
|
|
||||||
|
|
||||||
def create_task_with_in_tree_dockerfile(*, image, **kwargs):
|
class DecisionTask:
|
||||||
image_build_task = build_image(image)
|
def create_task_with_in_tree_dockerfile(self, *, image, **kwargs):
|
||||||
|
image_build_task = self.build_image(image)
|
||||||
kwargs.setdefault("dependencies", []).append(image_build_task)
|
kwargs.setdefault("dependencies", []).append(image_build_task)
|
||||||
image = {
|
image = {
|
||||||
"type": "task-image",
|
"type": "task-image",
|
||||||
"taskId": image_build_task,
|
"taskId": image_build_task,
|
||||||
"path": "public/" + DOCKER_IMAGE_ARTIFACT_FILENAME,
|
"path": "public/" + DOCKER_IMAGE_ARTIFACT_FILENAME,
|
||||||
}
|
}
|
||||||
return create_task(image=image, **kwargs)
|
return self.create_task(image=image, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
def build_image(image_name):
|
def build_image(self, image_name):
|
||||||
with open(os.path.join(REPO, image_name + ".dockerfile"), "rb") as f:
|
with open(os.path.join(REPO, image_name + ".dockerfile"), "rb") as f:
|
||||||
dockerfile = f.read()
|
dockerfile = f.read()
|
||||||
digest = hashlib.sha256(dockerfile).hexdigest()
|
digest = hashlib.sha256(dockerfile).hexdigest()
|
||||||
|
@ -57,7 +58,7 @@ def build_image(image_name):
|
||||||
if e.status_code != 404:
|
if e.status_code != 404:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
image_build_task = create_task(
|
image_build_task = self.create_task(
|
||||||
task_name="docker image build task for image: " + image_name,
|
task_name="docker image build task for image: " + image_name,
|
||||||
command="""
|
command="""
|
||||||
echo "$DOCKERFILE" | docker build -t taskcluster-built -
|
echo "$DOCKERFILE" | docker build -t taskcluster-built -
|
||||||
|
@ -91,7 +92,7 @@ def build_image(image_name):
|
||||||
return image_build_task
|
return image_build_task
|
||||||
|
|
||||||
|
|
||||||
def create_task(*, task_name, command, image, max_run_time_minutes,
|
def create_task(self, *, task_name, command, image, max_run_time_minutes,
|
||||||
artifacts=None, dependencies=None, env=None, cache=None, scopes=None,
|
artifacts=None, dependencies=None, env=None, cache=None, scopes=None,
|
||||||
routes=None, extra=None, features=None,
|
routes=None, extra=None, features=None,
|
||||||
with_repo=True):
|
with_repo=True):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue