From 2406d0973a18ea151e098dc17829d76a79cb0d53 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Tue, 21 May 2019 15:05:16 -0400 Subject: [PATCH 1/2] Schedule a release build for WPT daily job if necessary. --- etc/taskcluster/decision_task.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index b07ae54b023..abef75712ea 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -475,8 +475,7 @@ def macos_nightly(): def update_wpt(): - # Reuse the release build that was made for landing the PR - build_task = decisionlib.Task.find("build.macos_x64_release." + CONFIG.git_sha) + build_task = macos_release_build() update_task = ( macos_task("WPT update") .with_python2() @@ -504,8 +503,8 @@ def update_wpt(): ) -def macos_wpt(): - build_task = ( +def macos_release_build(): + return ( macos_build_task("Release build") .with_treeherder("macOS x64", "Release") .with_script(""" @@ -520,6 +519,10 @@ def macos_wpt(): .with_artifacts("repo/target.tar.gz") .find_or_create("build.macos_x64_release." + CONFIG.git_sha) ) + + +def macos_wpt(): + build_task = macos_release_build() def macos_run_task(name): task = macos_task(name).with_python2() return ( @@ -771,6 +774,7 @@ def macos_build_task(name): .with_repo() .with_python2() .with_rustup() + .with_index_and_artifacts_expire_in(build_artifacts_expire_in) # Debugging for surprising generic-worker behaviour .with_early_script("ls") .with_script("ls target || true") From ceff9a61ef03f8e11de0f5cad3facc970b1d73fd Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Tue, 21 May 2019 15:09:38 -0400 Subject: [PATCH 2/2] Allow pushing updated WPT results to git remote. --- etc/taskcluster/decision_task.py | 3 ++- etc/taskcluster/decisionlib.py | 12 ++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index abef75712ea..dda4382599f 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -490,7 +490,8 @@ def update_wpt(): "etc/taskcluster/macos/Brewfile-wpt", "etc/taskcluster/macos/Brewfile-gstreamer", ]) - .with_repo() + # Pushing the new changes to the git remote requires a full repo clone. + .with_repo(shallow=False) .with_curl_artifact_script(build_task, "target.tar.gz") .with_script(""" export PKG_CONFIG_PATH="$(brew --prefix libffi)/lib/pkgconfig/" diff --git a/etc/taskcluster/decisionlib.py b/etc/taskcluster/decisionlib.py index 82d6dcacced..0a6d9b99e1c 100644 --- a/etc/taskcluster/decisionlib.py +++ b/etc/taskcluster/decisionlib.py @@ -427,7 +427,7 @@ class WindowsGenericWorkerTask(GenericWorkerTask): self.with_early_script("set PATH=%HOMEDRIVE%%HOMEPATH%\\{};%PATH%".format(p)) return self - def with_repo(self, sparse_checkout=None): + def with_repo(self, sparse_checkout=None, shallow=True): """ Make a shallow clone the git repository at the start of the task. This uses `CONFIG.git_url`, `CONFIG.git_ref`, and `CONFIG.git_sha`, @@ -452,9 +452,9 @@ class WindowsGenericWorkerTask(GenericWorkerTask): type .git\\info\\sparse-checkout """ git += """ - git fetch --depth 1 %GIT_URL% %GIT_REF% + git fetch {depth} %GIT_URL% %GIT_REF% git reset --hard %GIT_SHA% - """ + """.format(depth="--depth 1" if shallow else "") return self \ .with_git() \ .with_script(git) \ @@ -560,7 +560,7 @@ class UnixTaskMixin(Task): super().__init__(*args, **kwargs) self.curl_scripts_count = 0 - def with_repo(self): + def with_repo(self, shallow=True): """ Make a shallow clone the git repository at the start of the task. This uses `CONFIG.git_url`, `CONFIG.git_ref`, and `CONFIG.git_sha` @@ -578,9 +578,9 @@ class UnixTaskMixin(Task): .with_early_script(""" git init repo cd repo - git fetch --depth 1 "$GIT_URL" "$GIT_REF" + git fetch {depth} "$GIT_URL" "$GIT_REF" git reset --hard "$GIT_SHA" - """) + """.format(depth="--depth 1" if shallow else "")) def with_curl_script(self, url, file_path): self.curl_scripts_count += 1