mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Disable remaining taskcluster jobs.
This commit is contained in:
parent
fe25aef578
commit
629953c622
1 changed files with 4 additions and 324 deletions
|
@ -30,39 +30,27 @@ def tasks(task_for):
|
||||||
CONFIG.routes_for_all_subtasks.append("statuses")
|
CONFIG.routes_for_all_subtasks.append("statuses")
|
||||||
|
|
||||||
if task_for == "github-push":
|
if task_for == "github-push":
|
||||||
all_tests = [
|
all_tests = []
|
||||||
linux_tidy_unit,
|
|
||||||
linux_docs_check,
|
|
||||||
windows_unit,
|
|
||||||
]
|
|
||||||
by_branch_name = {
|
by_branch_name = {
|
||||||
"auto": all_tests,
|
"auto": all_tests,
|
||||||
"try": all_tests,
|
"try": all_tests,
|
||||||
"try-taskcluster": [
|
"try-taskcluster": [
|
||||||
# Add functions here as needed, in your push to that branch
|
# Add functions here as needed, in your push to that branch
|
||||||
],
|
],
|
||||||
"master": [
|
"master": [],
|
||||||
layout_2020_regressions_report,
|
|
||||||
],
|
|
||||||
|
|
||||||
# The "try-*" keys match those in `servo_try_choosers` in Homu’s config:
|
# The "try-*" keys match those in `servo_try_choosers` in Homu’s config:
|
||||||
# https://github.com/servo/saltfs/blob/master/homu/map.jinja
|
# https://github.com/servo/saltfs/blob/master/homu/map.jinja
|
||||||
|
|
||||||
"try-mac": [],
|
"try-mac": [],
|
||||||
"try-linux": [linux_tidy_unit, linux_docs_check],
|
"try-linux": [],
|
||||||
"try-windows": [windows_unit],
|
"try-windows": [],
|
||||||
"try-arm": [],
|
"try-arm": [],
|
||||||
"try-wpt": [],
|
"try-wpt": [],
|
||||||
"try-wpt-2020": [],
|
"try-wpt-2020": [],
|
||||||
"try-wpt-mac": [],
|
"try-wpt-mac": [],
|
||||||
"test-wpt": [],
|
"test-wpt": [],
|
||||||
}
|
}
|
||||||
by_branch_name["try-windows-rdp"] = [
|
|
||||||
functools.partial(f, rdp=True) for f in by_branch_name["try-windows"]
|
|
||||||
]
|
|
||||||
|
|
||||||
for function in by_branch_name.get(branch, []):
|
|
||||||
function()
|
|
||||||
|
|
||||||
elif task_for == "github-pull-request":
|
elif task_for == "github-pull-request":
|
||||||
CONFIG.treeherder_repository_name = "servo-prs"
|
CONFIG.treeherder_repository_name = "servo-prs"
|
||||||
|
@ -74,17 +62,13 @@ def tasks(task_for):
|
||||||
# https://github.com/servo/servo/pull/22597#issuecomment-451518810
|
# https://github.com/servo/servo/pull/22597#issuecomment-451518810
|
||||||
CONFIG.git_sha_is_current_head()
|
CONFIG.git_sha_is_current_head()
|
||||||
|
|
||||||
linux_tidy_unit_untrusted()
|
|
||||||
|
|
||||||
elif task_for == "try-windows-ami":
|
elif task_for == "try-windows-ami":
|
||||||
CONFIG.git_sha_is_current_head()
|
CONFIG.git_sha_is_current_head()
|
||||||
CONFIG.windows_worker_type = os.environ["NEW_AMI_WORKER_TYPE"]
|
CONFIG.windows_worker_type = os.environ["NEW_AMI_WORKER_TYPE"]
|
||||||
windows_unit(cached=False, rdp=True)
|
|
||||||
|
|
||||||
# https://tools.taskcluster.net/hooks/project-servo/daily
|
# https://tools.taskcluster.net/hooks/project-servo/daily
|
||||||
elif task_for == "daily":
|
elif task_for == "daily":
|
||||||
daily_tasks_setup()
|
daily_tasks_setup()
|
||||||
update_wpt()
|
|
||||||
|
|
||||||
|
|
||||||
ping_on_daily_task_failure = "SimonSapin, nox, emilio"
|
ping_on_daily_task_failure = "SimonSapin, nox, emilio"
|
||||||
|
@ -92,218 +76,6 @@ build_artifacts_expire_in = "1 week"
|
||||||
build_dependencies_artifacts_expire_in = "1 month"
|
build_dependencies_artifacts_expire_in = "1 month"
|
||||||
log_artifacts_expire_in = "1 year"
|
log_artifacts_expire_in = "1 year"
|
||||||
|
|
||||||
build_env = {
|
|
||||||
"RUSTFLAGS": "-Dwarnings",
|
|
||||||
"CARGO_INCREMENTAL": "0",
|
|
||||||
}
|
|
||||||
unix_build_env = {
|
|
||||||
}
|
|
||||||
linux_build_env = {
|
|
||||||
"RUST_BACKTRACE": "1", # https://github.com/servo/servo/issues/26192
|
|
||||||
"SHELL": "/bin/dash", # For SpiderMonkey’s build system
|
|
||||||
"CCACHE": "sccache",
|
|
||||||
"RUSTC_WRAPPER": "sccache",
|
|
||||||
"CC": "clang",
|
|
||||||
"CXX": "clang++",
|
|
||||||
"SCCACHE_IDLE_TIMEOUT": "1200",
|
|
||||||
# https://github.com/servo/servo/issues/24714#issuecomment-552951519
|
|
||||||
"SCCACHE_MAX_FRAME_LENGTH": str(100 * 1024 * 1024), # 100 MiB
|
|
||||||
}
|
|
||||||
windows_build_env = {
|
|
||||||
"x86_64": {
|
|
||||||
"GSTREAMER_1_0_ROOT_X86_64": "%HOMEDRIVE%%HOMEPATH%\\gst\\gstreamer\\1.0\\x86_64\\",
|
|
||||||
},
|
|
||||||
"arm64": {
|
|
||||||
"PKG_CONFIG_ALLOW_CROSS": "1",
|
|
||||||
},
|
|
||||||
"all": {
|
|
||||||
"PYTHON3": "%HOMEDRIVE%%HOMEPATH%\\python3\\python.exe",
|
|
||||||
"LINKER": "lld-link.exe",
|
|
||||||
"MOZTOOLS_PATH_PREPEND": "%HOMEDRIVE%%HOMEPATH%\\git\\cmd",
|
|
||||||
"CC": "clang-cl.exe",
|
|
||||||
"CXX": "clang-cl.exe",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
windows_sparse_checkout = [
|
|
||||||
"/*",
|
|
||||||
"!/tests/wpt/metadata",
|
|
||||||
"!/tests/wpt/mozilla",
|
|
||||||
"!/tests/wpt/webgl",
|
|
||||||
"!/tests/wpt/web-platform-tests",
|
|
||||||
"/tests/wpt/web-platform-tests/tools",
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def linux_tidy_unit_untrusted():
|
|
||||||
return (
|
|
||||||
decisionlib.DockerWorkerTask("Tidy + dev build + unit tests")
|
|
||||||
.with_worker_type("docker-untrusted")
|
|
||||||
.with_treeherder("Linux x64", "Tidy+Unit")
|
|
||||||
.with_max_run_time_minutes(60)
|
|
||||||
.with_dockerfile(dockerfile_path("build"))
|
|
||||||
.with_env(**build_env, **unix_build_env, **linux_build_env)
|
|
||||||
.with_repo_bundle()
|
|
||||||
.with_script("""
|
|
||||||
python3 ./mach test-tidy --no-progress --all
|
|
||||||
python3 ./mach test-tidy --no-progress --self-test
|
|
||||||
python3 ./mach bootstrap-gstreamer
|
|
||||||
python3 ./mach build --dev
|
|
||||||
python3 ./mach test-unit
|
|
||||||
|
|
||||||
./etc/ci/lockfile_changed.sh
|
|
||||||
./etc/memory_reports_over_time.py --test
|
|
||||||
./etc/ci/check_no_panic.sh
|
|
||||||
""")
|
|
||||||
.create()
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def linux_tidy_unit():
|
|
||||||
return (
|
|
||||||
linux_build_task("Tidy + dev build + unit tests")
|
|
||||||
.with_treeherder("Linux x64", "Tidy+Unit")
|
|
||||||
.with_max_run_time_minutes(75)
|
|
||||||
.with_script("""
|
|
||||||
python3 ./mach test-tidy --no-progress --all
|
|
||||||
python3 ./mach build --dev
|
|
||||||
python3 ./mach test-unit
|
|
||||||
python3 ./mach package --dev
|
|
||||||
python3 ./mach build --dev --features refcell_backtrace
|
|
||||||
python3 ./mach build --dev --features layout-2020
|
|
||||||
python3 ./mach build --dev --libsimpleservo
|
|
||||||
python3 ./mach build --dev -p servo-gst-plugin
|
|
||||||
python3 ./mach build --dev --media-stack=dummy
|
|
||||||
python3 ./mach test-tidy --no-progress --self-test
|
|
||||||
|
|
||||||
./etc/memory_reports_over_time.py --test
|
|
||||||
./etc/taskcluster/mock.py
|
|
||||||
./etc/ci/lockfile_changed.sh
|
|
||||||
./etc/ci/check_no_panic.sh
|
|
||||||
""")
|
|
||||||
.find_or_create("linux_unit." + CONFIG.tree_hash())
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def linux_docs_check():
|
|
||||||
return (
|
|
||||||
linux_build_task("Check")
|
|
||||||
.with_treeherder("Linux x64", "Check")
|
|
||||||
.with_script('RUSTDOCFLAGS="--disable-minification" python3 ./mach doc')
|
|
||||||
# Because `rustdoc` needs metadata of dependency crates,
|
|
||||||
# `cargo doc` does almost all of the work that `cargo check` does.
|
|
||||||
# Therefore, when running them in this order the second command does very little
|
|
||||||
# and should finish quickly.
|
|
||||||
# The reverse order would not increase the total amount of work to do,
|
|
||||||
# but would reduce the amount of parallelism available.
|
|
||||||
.with_script("python3 ./mach check")
|
|
||||||
.find_or_create("check." + CONFIG.tree_hash())
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def layout_2020_regressions_report():
|
|
||||||
return (
|
|
||||||
linux_task("Layout 2020 regressions report")
|
|
||||||
.with_treeherder("Linux x64", "RegressionsReport")
|
|
||||||
.with_dockerfile(dockerfile_path("base"))
|
|
||||||
.with_repo_bundle()
|
|
||||||
.with_script(
|
|
||||||
"python3 tests/wpt/reftests-report/gen.py %s %s"
|
|
||||||
% (CONFIG.tree_hash(), CONFIG.git_sha)
|
|
||||||
)
|
|
||||||
.with_index_and_artifacts_expire_in(log_artifacts_expire_in)
|
|
||||||
.with_artifacts("/repo/tests/wpt/reftests-report/report.html")
|
|
||||||
.with_index_at("layout-2020-regressions-report")
|
|
||||||
.create()
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def windows_unit(cached=True, rdp=False):
|
|
||||||
task = (
|
|
||||||
windows_build_task("Dev build + unit tests", rdp=rdp)
|
|
||||||
.with_treeherder("Windows x64", "Unit")
|
|
||||||
.with_script(
|
|
||||||
# Not necessary as this would be done at the start of `build`,
|
|
||||||
# but this allows timing it separately.
|
|
||||||
"python mach fetch",
|
|
||||||
|
|
||||||
"python mach build --dev",
|
|
||||||
|
|
||||||
"python mach test-unit",
|
|
||||||
# Running the TC task with administrator privileges breaks the
|
|
||||||
# smoketest for unknown reasons.
|
|
||||||
#"python mach smoketest --angle",
|
|
||||||
|
|
||||||
"python mach package --dev",
|
|
||||||
"python mach build --dev --libsimpleservo",
|
|
||||||
# The GStreamer plugin currently doesn't support Windows
|
|
||||||
# https://github.com/servo/servo/issues/25353
|
|
||||||
# "mach build --dev -p servo-gst-plugin",
|
|
||||||
|
|
||||||
)
|
|
||||||
.with_artifacts("repo/target/debug/msi/Servo.exe",
|
|
||||||
"repo/target/debug/msi/Servo.zip")
|
|
||||||
)
|
|
||||||
if cached:
|
|
||||||
return task.find_or_create("build.windows_x64_dev." + CONFIG.tree_hash())
|
|
||||||
else:
|
|
||||||
return task.create()
|
|
||||||
|
|
||||||
|
|
||||||
def update_wpt():
|
|
||||||
build_task = linux_release_build_with_debug_assertions(layout_2020=False)
|
|
||||||
return (
|
|
||||||
linux_task("WPT update")
|
|
||||||
.with_treeherder("Linux x64", "WPT-update")
|
|
||||||
.with_dockerfile(dockerfile_path("wpt-update"))
|
|
||||||
.with_features("taskclusterProxy")
|
|
||||||
.with_scopes("secrets:get:project/servo/wpt-sync")
|
|
||||||
.with_index_and_artifacts_expire_in(log_artifacts_expire_in)
|
|
||||||
.with_max_run_time_minutes(8 * 60)
|
|
||||||
# Not using the bundle, pushing the new changes to the git remote requires a full repo.
|
|
||||||
.with_repo()
|
|
||||||
.with_curl_artifact_script(build_task, "target.tar.gz")
|
|
||||||
.with_script("""
|
|
||||||
tar -xzf target.tar.gz
|
|
||||||
# Use `cat` to force wptrunner’s non-interactive mode
|
|
||||||
./etc/ci/update-wpt-checkout fetch-and-update-expectations | cat
|
|
||||||
./etc/ci/update-wpt-checkout open-pr
|
|
||||||
./etc/ci/update-wpt-checkout cleanup
|
|
||||||
""")
|
|
||||||
.create()
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def linux_release_build_with_debug_assertions(layout_2020):
|
|
||||||
if layout_2020:
|
|
||||||
name_prefix = "Layout 2020 " # pragma: no cover
|
|
||||||
build_args = "--with-layout-2020" # pragma: no cover
|
|
||||||
index_key_suffix = "_2020" # pragma: no cover
|
|
||||||
treeherder_prefix = "2020-" # pragma: no cover
|
|
||||||
else:
|
|
||||||
name_prefix = ""
|
|
||||||
build_args = ""
|
|
||||||
index_key_suffix = ""
|
|
||||||
treeherder_prefix = ""
|
|
||||||
return (
|
|
||||||
linux_build_task(name_prefix + "Release build, with debug assertions")
|
|
||||||
.with_treeherder("Linux x64", treeherder_prefix + "Release+A")
|
|
||||||
.with_script("""
|
|
||||||
time python3 ./mach rustc -V
|
|
||||||
time python3 ./mach fetch
|
|
||||||
python3 ./mach build --release --with-debug-assertions %s -p servo
|
|
||||||
./etc/ci/lockfile_changed.sh
|
|
||||||
tar -czf /target.tar.gz \
|
|
||||||
target/release/servo \
|
|
||||||
resources
|
|
||||||
sccache --show-stats
|
|
||||||
""" % build_args)
|
|
||||||
.with_artifacts("/target.tar.gz")
|
|
||||||
.find_or_create("build.linux_x64%s_release_w_assertions.%s" % (
|
|
||||||
index_key_suffix,
|
|
||||||
CONFIG.tree_hash(),
|
|
||||||
))
|
|
||||||
)
|
|
||||||
|
|
||||||
def daily_tasks_setup():
|
def daily_tasks_setup():
|
||||||
# Unlike when reacting to a GitHub push event,
|
# Unlike when reacting to a GitHub push event,
|
||||||
|
@ -318,98 +90,6 @@ def daily_tasks_setup():
|
||||||
CONFIG.task_name_template = "Servo daily: %s. On failure, ping: " + ping_on_daily_task_failure
|
CONFIG.task_name_template = "Servo daily: %s. On failure, ping: " + ping_on_daily_task_failure
|
||||||
|
|
||||||
|
|
||||||
def dockerfile_path(name):
|
|
||||||
return os.path.join(os.path.dirname(__file__), "docker", name + ".dockerfile")
|
|
||||||
|
|
||||||
|
|
||||||
def linux_task(name):
|
|
||||||
return (
|
|
||||||
decisionlib.DockerWorkerTask(name)
|
|
||||||
.with_worker_type("docker")
|
|
||||||
.with_treeherder_required()
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def windows_task(name):
|
|
||||||
return (
|
|
||||||
decisionlib.WindowsGenericWorkerTask(name)
|
|
||||||
.with_worker_type(CONFIG.windows_worker_type)
|
|
||||||
.with_treeherder_required()
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def linux_build_task(name, *, build_env=build_env):
|
|
||||||
task = (
|
|
||||||
linux_task(name)
|
|
||||||
# https://docs.taskcluster.net/docs/reference/workers/docker-worker/docs/caches
|
|
||||||
.with_scopes("docker-worker:cache:servo-*")
|
|
||||||
.with_caches(**{
|
|
||||||
"servo-cargo-registry": "/root/.cargo/registry",
|
|
||||||
"servo-cargo-git": "/root/.cargo/git",
|
|
||||||
"servo-rustup": "/root/.rustup",
|
|
||||||
"servo-sccache": "/root/.cache/sccache",
|
|
||||||
"servo-gradle": "/root/.gradle",
|
|
||||||
})
|
|
||||||
.with_index_and_artifacts_expire_in(build_artifacts_expire_in)
|
|
||||||
.with_max_run_time_minutes(60)
|
|
||||||
.with_dockerfile(dockerfile_path("build"))
|
|
||||||
.with_env(**build_env, **unix_build_env, **linux_build_env)
|
|
||||||
.with_repo_bundle()
|
|
||||||
.with_script("python3 ./mach bootstrap-gstreamer")
|
|
||||||
)
|
|
||||||
return task
|
|
||||||
|
|
||||||
|
|
||||||
def windows_build_task(name, package=True, arch="x86_64", rdp=False):
|
|
||||||
hashes = {
|
|
||||||
"devel": {
|
|
||||||
"x86_64": "bd444f3ff9d828f93ba5db0ef511d648d238fff50c4435ccefc7b3e9b2bea3b9",
|
|
||||||
},
|
|
||||||
"non-devel": {
|
|
||||||
"x86_64": "f33fff17a558a433b9c4cf7bd9a338a3d0867fa2d5ee1ee33d249b6a55e8a297",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
prefix = {
|
|
||||||
"x86_64": "msvc",
|
|
||||||
}
|
|
||||||
version = "1.16.2"
|
|
||||||
task = (
|
|
||||||
windows_task(name)
|
|
||||||
.with_max_run_time_minutes(90)
|
|
||||||
.with_env(
|
|
||||||
**build_env,
|
|
||||||
**windows_build_env[arch],
|
|
||||||
**windows_build_env["all"]
|
|
||||||
)
|
|
||||||
.with_repo_bundle(sparse_checkout=windows_sparse_checkout)
|
|
||||||
.with_python3()
|
|
||||||
.with_rustup()
|
|
||||||
)
|
|
||||||
if arch in hashes["non-devel"] and arch in hashes["devel"]:
|
|
||||||
task.with_repacked_msi(
|
|
||||||
url=("https://gstreamer.freedesktop.org/data/pkg/windows/" +
|
|
||||||
"%s/gstreamer-1.0-%s-%s-%s.msi" % (version, prefix[arch], arch, version)),
|
|
||||||
sha256=hashes["non-devel"][arch],
|
|
||||||
path="gst",
|
|
||||||
)
|
|
||||||
task.with_repacked_msi(
|
|
||||||
url=("https://gstreamer.freedesktop.org/data/pkg/windows/" +
|
|
||||||
"%s/gstreamer-1.0-devel-%s-%s-%s.msi" % (version, prefix[arch], arch, version)),
|
|
||||||
sha256=hashes["devel"][arch],
|
|
||||||
path="gst",
|
|
||||||
)
|
|
||||||
if package:
|
|
||||||
task.with_directory_mount(
|
|
||||||
"https://github.com/wixtoolset/wix3/releases/download/wix3111rtm/wix311-binaries.zip",
|
|
||||||
sha256="37f0a533b0978a454efb5dc3bd3598becf9660aaf4287e55bf68ca6b527d051d",
|
|
||||||
path="wix",
|
|
||||||
)
|
|
||||||
task.with_path_from_homedir("wix")
|
|
||||||
if rdp:
|
|
||||||
task.with_rdp_info(artifact_name="project/servo/rdp-info")
|
|
||||||
return task
|
|
||||||
|
|
||||||
|
|
||||||
CONFIG.task_name_template = "Servo: %s"
|
CONFIG.task_name_template = "Servo: %s"
|
||||||
CONFIG.docker_images_expire_in = build_dependencies_artifacts_expire_in
|
CONFIG.docker_images_expire_in = build_dependencies_artifacts_expire_in
|
||||||
CONFIG.repacked_msi_files_expire_in = build_dependencies_artifacts_expire_in
|
CONFIG.repacked_msi_files_expire_in = build_dependencies_artifacts_expire_in
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue