aboutsummaryrefslogtreecommitdiffstats
path: root/etc/taskcluster/decision_task.py
diff options
context:
space:
mode:
authorVincent Ricard <magic@magicninja.org>2020-12-28 22:31:49 +0100
committerJosh Matthews <josh@joshmatthews.net>2021-02-18 09:35:46 -0500
commita627dde0d01e35a1cbdb62ca19ee0349757c34b0 (patch)
tree094b86f657d87bfc374d436da809aca26281069d /etc/taskcluster/decision_task.py
parentf73370088b77a834d9b9f6835ae90a4a66e6d7ee (diff)
downloadservo-a627dde0d01e35a1cbdb62ca19ee0349757c34b0.tar.gz
servo-a627dde0d01e35a1cbdb62ca19ee0349757c34b0.zip
Port some code to Python3
Diffstat (limited to 'etc/taskcluster/decision_task.py')
-rw-r--r--etc/taskcluster/decision_task.py105
1 files changed, 54 insertions, 51 deletions
diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py
index 66338c53a6c..97b20f7c059 100644
--- a/etc/taskcluster/decision_task.py
+++ b/etc/taskcluster/decision_task.py
@@ -57,7 +57,7 @@ def tasks(task_for):
"try-mac": [macos_unit],
"try-linux": [linux_tidy_unit, linux_docs_check, linux_release],
- "try-windows": [windows_unit, windows_arm64, windows_uwp_x64],
+ "try-windows": [windows_arm64, windows_uwp_x64],
"try-arm": [windows_arm64],
"try-wpt": [linux_wpt],
"try-wpt-2020": [linux_wpt_layout_2020],
@@ -130,6 +130,8 @@ windows_build_env = {
},
"all": {
"PYTHON3": "%HOMEDRIVE%%HOMEPATH%\\python3\\python.exe",
+ "PYTHONPATH": "%HOMEDRIVE%%HOMEPATH%\\python3",
+ "PYTHONHOME": "%HOMEDRIVE%%HOMEPATH%\\python3",
"LINKER": "lld-link.exe",
"MOZTOOLS_PATH_PREPEND": "%HOMEDRIVE%%HOMEPATH%\\git\\cmd",
},
@@ -155,11 +157,11 @@ def linux_tidy_unit_untrusted():
.with_env(**build_env, **unix_build_env, **linux_build_env)
.with_repo_bundle()
.with_script("""
- ./mach test-tidy --no-progress --all
- ./mach test-tidy --no-progress --self-test
- ./mach bootstrap-gstreamer
- ./mach build --dev
- ./mach test-unit
+ 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
@@ -175,8 +177,7 @@ def linux_tidy_unit():
.with_treeherder("Linux x64", "Tidy+Unit")
.with_max_run_time_minutes(75)
.with_script("""
- ./mach test-tidy --no-progress --all
- python3 ./mach test-tidy --no-progress --all --no-wpt
+ python3 ./mach test-tidy --no-progress --all
python3 ./mach build --dev
python3 ./mach test-unit
python3 ./mach package --dev
@@ -201,7 +202,7 @@ def linux_docs_check():
linux_build_task("Docs + check")
.with_treeherder("Linux x64", "Doc+Check")
.with_script("""
- RUSTDOCFLAGS="--disable-minification" ./mach doc
+ RUSTDOCFLAGS="--disable-minification" python3 ./mach doc
(
cd target/doc
git init
@@ -219,7 +220,7 @@ def linux_docs_check():
# The reverse order would not increase the total amount of work to do,
# but would reduce the amount of parallelism available.
"""
- ./mach check
+ python3 ./mach check
""")
.with_artifacts("/repo/target/doc/docs.bundle")
.find_or_create("docs." + CONFIG.tree_hash())
@@ -243,7 +244,7 @@ def upload_docs():
open("/root/.git-credentials", "w").write("https://git:%s@github.com/" % token)
""")
.with_script("""
- python -c "$PY"
+ python3 -c "$PY"
git init --bare
git config credential.helper store
git fetch --quiet docs.bundle
@@ -274,9 +275,9 @@ def macos_unit():
macos_build_task("Dev build + unit tests")
.with_treeherder("macOS x64", "Unit")
.with_script("""
- ./mach build --dev --verbose
- ./mach test-unit
- ./mach package --dev
+ python3 ./mach build --dev --verbose
+ python3 ./mach test-unit
+ python3 ./mach package --dev
./etc/ci/macos_package_smoketest.sh target/debug/servo-tech-demo.dmg
./etc/ci/lockfile_changed.sh
""")
@@ -296,8 +297,8 @@ def with_rust_nightly():
.with_treeherder("Linux x64", "RustNightly")
.with_script("""
echo "nightly" > rust-toolchain
- ./mach build --dev
- ./mach test-unit
+ python3 ./mach build --dev
+ python3 ./mach test-unit
""")
.create()
)
@@ -354,10 +355,10 @@ def uwp_nightly(rdp=False):
"secrets:get:project/servo/windows-codesign-cert/latest",
)
.with_script(
- "python mach build --release --target=x86_64-uwp-windows-msvc",
- "python mach build --release --target=aarch64-uwp-windows-msvc",
- "python mach package --release --target=x86_64-uwp-windows-msvc --uwp=x64 --uwp=arm64",
- "python mach upload-nightly uwp --secret-from-taskcluster",
+ "python3 mach build --release --target=x86_64-uwp-windows-msvc",
+ "python3 mach build --release --target=aarch64-uwp-windows-msvc",
+ "python3 mach package --release --target=x86_64-uwp-windows-msvc --uwp=x64 --uwp=arm64",
+ "python3 mach upload-nightly uwp --secret-from-taskcluster",
)
.with_artifacts(appx_artifact)
.with_max_run_time_minutes(3 * 60)
@@ -418,9 +419,9 @@ def linux_nightly():
.with_scopes("secrets:get:project/servo/s3-upload-credentials")
# Not reusing the build made for WPT because it has debug assertions
.with_script(
- "./mach build --release",
- "./mach package --release",
- "./mach upload-nightly linux --secret-from-taskcluster",
+ "python3 ./mach build --release",
+ "python3 ./mach package --release",
+ "python3 ./mach upload-nightly linux --secret-from-taskcluster",
)
.with_artifacts("/repo/target/release/servo-tech-demo.tar.gz")
.find_or_create("build.linux_x64_nightly" + CONFIG.tree_hash())
@@ -432,8 +433,8 @@ def linux_release():
linux_build_task("Release build")
.with_treeherder("Linux x64", "Release")
.with_script(
- "./mach build --release",
- "./mach package --release",
+ "python3 ./mach build --release",
+ "python3 ./mach package --release",
)
.find_or_create("build.linux_x64_release" + CONFIG.tree_hash())
)
@@ -449,10 +450,10 @@ def macos_nightly():
"secrets:get:project/servo/github-homebrew-token",
)
.with_script(
- "./mach build --release",
- "./mach package --release",
+ "python3 ./mach build --release",
+ "python3 ./mach package --release",
"./etc/ci/macos_package_smoketest.sh target/release/servo-tech-demo.dmg",
- "./mach upload-nightly mac --secret-from-taskcluster",
+ "python3 ./mach upload-nightly mac --secret-from-taskcluster",
)
.with_artifacts("repo/target/release/servo-tech-demo.dmg")
.find_or_create("build.mac_x64_nightly." + CONFIG.tree_hash())
@@ -489,7 +490,7 @@ def macos_release_build_with_debug_assertions(priority=None):
.with_treeherder("macOS x64", "Release+A")
.with_priority(priority)
.with_script("\n".join([
- "./mach build --release --verbose --with-debug-assertions",
+ "python3 ./mach build --release --verbose --with-debug-assertions",
"./etc/ci/lockfile_changed.sh",
"tar -czf target.tar.gz" +
" target/release/servo" +
@@ -516,9 +517,9 @@ def linux_release_build_with_debug_assertions(layout_2020):
linux_build_task(name_prefix + "Release build, with debug assertions")
.with_treeherder("Linux x64", treeherder_prefix + "Release+A")
.with_script("""
- time ./mach rustc -V
- time ./mach fetch
- ./mach build --release --with-debug-assertions %s -p servo
+ 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 \
@@ -537,7 +538,7 @@ def macos_wpt():
priority = "high" if CONFIG.git_ref == "refs/heads/auto" else None
build_task = macos_release_build_with_debug_assertions(priority=priority)
def macos_run_task(name):
- task = macos_task(name).with_python2().with_python3() \
+ task = macos_task(name).with_python3() \
.with_repo_bundle(alternate_object_dir="/var/cache/servo.git/objects")
return with_homebrew(task, ["etc/taskcluster/macos/Brewfile"])
wpt_chunks(
@@ -619,11 +620,11 @@ def wpt_chunks(platform, make_chunk_task, build_task, total_chunks, processes,
if this_chunk == 0:
if run_webgpu:
webgpu_script = """
- time ./mach test-wpt _webgpu --release --processes $PROCESSES \
+ time python3 ./mach test-wpt _webgpu --release --processes $PROCESSES \
--headless --log-raw test-webgpu.log --always-succeed \
--log-errorsummary webgpu-errorsummary.log \
| cat
- ./mach filter-intermittents \
+ python3 ./mach filter-intermittents \
webgpu-errorsummary.log \
--log-intermittents webgpu-intermittents.log \
--log-filteredsummary filtered-webgpu-errorsummary.log \
@@ -634,7 +635,7 @@ def wpt_chunks(platform, make_chunk_task, build_task, total_chunks, processes,
webgpu_script = ""
task.with_script("""
- time python ./mach test-wpt --release --binary-arg=--multiprocess \
+ time python3 ./mach test-wpt --release --binary-arg=--multiprocess \
--processes $PROCESSES \
--log-raw test-wpt-mp.log \
--log-errorsummary wpt-mp-errorsummary.log \
@@ -647,30 +648,30 @@ def wpt_chunks(platform, make_chunk_task, build_task, total_chunks, processes,
--always-succeed \
url \
| cat
- ./mach filter-intermittents \
+ python3 ./mach filter-intermittents \
wpt-py3-errorsummary.log \
--log-intermittents wpt-py3-intermittents.log \
--log-filteredsummary filtered-py3-errorsummary.log \
--tracker-api default \
--reporter-api default
- time ./mach test-wpt --release --product=servodriver --headless \
+ time python3 ./mach test-wpt --release --product=servodriver --headless \
tests/wpt/mozilla/tests/mozilla/DOMParser.html \
tests/wpt/mozilla/tests/css/per_glyph_font_fallback_a.html \
tests/wpt/mozilla/tests/css/img_simple.html \
tests/wpt/mozilla/tests/mozilla/secure.https.html \
| cat
- time ./mach test-wpt --release --processes $PROCESSES --product=servodriver \
+ time python3 ./mach test-wpt --release --processes $PROCESSES --product=servodriver \
--headless --log-raw test-bluetooth.log \
--log-errorsummary bluetooth-errorsummary.log \
bluetooth \
| cat
- time ./mach test-wpt --release --processes $PROCESSES --timeout-multiplier=4 \
+ time python3 ./mach test-wpt --release --processes $PROCESSES --timeout-multiplier=4 \
--headless --log-raw test-wdspec.log \
--log-servojson wdspec-jsonsummary.log \
--always-succeed \
webdriver \
| cat
- ./mach filter-intermittents \
+ python3 ./mach filter-intermittents \
wdspec-jsonsummary.log \
--log-intermittents intermittents.log \
--log-filteredsummary filtered-wdspec-errorsummary.log \
@@ -680,7 +681,7 @@ def wpt_chunks(platform, make_chunk_task, build_task, total_chunks, processes,
)
else:
task.with_script("""
- ./mach test-wpt \
+ python3 ./mach test-wpt \
--release \
$WPT_ARGS \
--processes $PROCESSES \
@@ -690,7 +691,7 @@ def wpt_chunks(platform, make_chunk_task, build_task, total_chunks, processes,
--log-servojson wpt-jsonsummary.log \
--always-succeed \
| cat
- ./mach filter-intermittents \
+ python3 ./mach filter-intermittents \
wpt-jsonsummary.log \
--log-intermittents intermittents.log \
--log-filteredsummary filtered-wpt-errorsummary.log \
@@ -770,7 +771,7 @@ def linux_build_task(name, *, build_env=build_env):
.with_dockerfile(dockerfile_path("build"))
.with_env(**build_env, **unix_build_env, **linux_build_env)
.with_repo_bundle()
- .with_script("./mach bootstrap-gstreamer")
+ .with_script("python3 ./mach bootstrap-gstreamer")
)
return task
@@ -797,12 +798,14 @@ def windows_build_task(name, package=True, arch="x86_64", rdp=False):
**windows_build_env["all"]
)
.with_repo_bundle(sparse_checkout=windows_sparse_checkout)
- .with_python2()
- .with_directory_mount(
- "https://www.python.org/ftp/python/3.7.3/python-3.7.3-embed-amd64.zip",
- sha256="6de14c9223226cf0cd8c965ecb08c51d62c770171a256991b4fddc25188cfa8e",
- path="python3",
- )
+ .with_python3()
+ # mozjs's virtualenv expects a DLLs folder that contains dynamic libraries.
+ # The embedded python distribution does not come with this.
+ .with_script("""
+ mkdir %HOMEDRIVE%%HOMEPATH%\\python3\\DLLs
+ copy %HOMEDRIVE%%HOMEPATH%\\python3\\*.pyd %HOMEDRIVE%%HOMEPATH%\\python3\\DLLs
+ copy %HOMEDRIVE%%HOMEPATH%\\python3\\*.dll %HOMEDRIVE%%HOMEPATH%\\python3\\DLLs
+ """)
.with_rustup()
)
if arch in hashes["non-devel"] and arch in hashes["devel"]:
@@ -844,7 +847,7 @@ def macos_build_task(name):
.with_max_run_time_minutes(60 * 2)
.with_env(**build_env, **unix_build_env, **macos_build_env)
.with_repo_bundle(alternate_object_dir="/var/cache/servo.git/objects")
- .with_python2()
+ .with_python3()
.with_rustup()
.with_index_and_artifacts_expire_in(build_artifacts_expire_in)
# Debugging for surprising generic-worker behaviour