mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Move last bits of project-specific stuff out of decisionlib
This commit is contained in:
parent
5da5cdebea
commit
538107928d
2 changed files with 18 additions and 8 deletions
|
@ -7,7 +7,9 @@ from decisionlib import DecisionTask
|
||||||
def main():
|
def main():
|
||||||
decision = DecisionTask(
|
decision = DecisionTask(
|
||||||
project_name="Taskcluster experimenfts for Servo", # Used in task names
|
project_name="Taskcluster experimenfts for Servo", # Used in task names
|
||||||
|
route_prefix="project.servo.servo-taskcluster-experiments",
|
||||||
docker_image_cache_expiry="1 week",
|
docker_image_cache_expiry="1 week",
|
||||||
|
worker_type="servo-docker-worker",
|
||||||
)
|
)
|
||||||
|
|
||||||
build_task = decision.create_task_with_in_tree_dockerfile(
|
build_task = decision.create_task_with_in_tree_dockerfile(
|
||||||
|
|
|
@ -20,8 +20,11 @@ class DecisionTask:
|
||||||
DOCKER_IMAGE_BUILDER_IMAGE = "servobrowser/taskcluster-bootstrap:image-builder@sha256:" \
|
DOCKER_IMAGE_BUILDER_IMAGE = "servobrowser/taskcluster-bootstrap:image-builder@sha256:" \
|
||||||
"0a7d012ce444d62ffb9e7f06f0c52fedc24b68c2060711b313263367f7272d9d"
|
"0a7d012ce444d62ffb9e7f06f0c52fedc24b68c2060711b313263367f7272d9d"
|
||||||
|
|
||||||
def __init__(self, project_name, docker_image_cache_expiry="1 year"):
|
def __init__(self, project_name, *, route_prefix,
|
||||||
|
worker_type="github-worker", docker_image_cache_expiry="1 year"):
|
||||||
self.project_name = project_name
|
self.project_name = project_name
|
||||||
|
self.route_prefix = route_prefix
|
||||||
|
self.worker_type = worker_type
|
||||||
self.docker_image_cache_expiry = docker_image_cache_expiry
|
self.docker_image_cache_expiry = docker_image_cache_expiry
|
||||||
|
|
||||||
# https://docs.taskcluster.net/docs/reference/workers/docker-worker/docs/features#feature-taskclusterproxy
|
# https://docs.taskcluster.net/docs/reference/workers/docker-worker/docs/features#feature-taskclusterproxy
|
||||||
|
@ -46,7 +49,7 @@ class DecisionTask:
|
||||||
with open(dockerfile, "rb") as f:
|
with open(dockerfile, "rb") as f:
|
||||||
dockerfile = f.read()
|
dockerfile = f.read()
|
||||||
digest = hashlib.sha256(dockerfile).hexdigest()
|
digest = hashlib.sha256(dockerfile).hexdigest()
|
||||||
route = "project.servo.servo-taskcluster-experiments.docker-image." + digest
|
route = "%s.docker-image.%s" % (self.route_prefix, digest)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result = self.index_service.findTask(route)
|
result = self.index_service.findTask(route)
|
||||||
|
@ -98,12 +101,17 @@ class DecisionTask:
|
||||||
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):
|
||||||
|
# Set in .taskcluster.yml
|
||||||
|
commit_sha = os.environ["GITHUB_EVENT_COMMIT_SHA"]
|
||||||
|
clone_url = os.environ["GITHUB_EVENT_CLONE_URL"]
|
||||||
|
source = os.environ["GITHUB_EVENT_SOURCE"]
|
||||||
|
owner = os.environ["GITHUB_EVENT_OWNER"]
|
||||||
|
|
||||||
env = env or {}
|
env = env or {}
|
||||||
|
|
||||||
if with_repo:
|
if with_repo:
|
||||||
for k in ["GITHUB_EVENT_CLONE_URL", "GITHUB_EVENT_COMMIT_SHA"]:
|
env["GITHUB_EVENT_COMMIT_SHA"] = commit_sha
|
||||||
# Set in .taskcluster.yml
|
env["GITHUB_EVENT_CLONE_URL"] = clone_url
|
||||||
env.setdefault(k, os.environ[k])
|
|
||||||
|
|
||||||
command = """
|
command = """
|
||||||
git clone $GITHUB_EVENT_CLONE_URL repo
|
git clone $GITHUB_EVENT_CLONE_URL repo
|
||||||
|
@ -119,15 +127,15 @@ class DecisionTask:
|
||||||
"dependencies": [decision_task_id] + (dependencies or []),
|
"dependencies": [decision_task_id] + (dependencies or []),
|
||||||
"schedulerId": "taskcluster-github",
|
"schedulerId": "taskcluster-github",
|
||||||
"provisionerId": "aws-provisioner-v1",
|
"provisionerId": "aws-provisioner-v1",
|
||||||
"workerType": "servo-docker-worker",
|
"workerType": self.worker_type,
|
||||||
|
|
||||||
"created": self.from_now_json(""),
|
"created": self.from_now_json(""),
|
||||||
"deadline": self.from_now_json("1 day"),
|
"deadline": self.from_now_json("1 day"),
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"name": "%s: %s" % (self.project_name, task_name),
|
"name": "%s: %s" % (self.project_name, task_name),
|
||||||
"description": "",
|
"description": "",
|
||||||
"owner": os.environ["GITHUB_EVENT_OWNER"],
|
"owner": owner,
|
||||||
"source": os.environ["GITHUB_EVENT_SOURCE"],
|
"source": source,
|
||||||
},
|
},
|
||||||
"scopes": scopes or [],
|
"scopes": scopes or [],
|
||||||
"routes": routes or [],
|
"routes": routes or [],
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue