From c6ba96a058eb5c4f17f802f957b78009ffb026e7 Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Fri, 10 May 2019 10:18:18 -0400 Subject: [PATCH] Move magicleap build to taskcluster. --- etc/ci/buildbot_steps.yml | 29 ++-------------- etc/taskcluster/decision_task.py | 57 +++++++++++++++++++++++++++++++- 2 files changed, 58 insertions(+), 28 deletions(-) diff --git a/etc/ci/buildbot_steps.yml b/etc/ci/buildbot_steps.yml index c9ead7956c8..acadbd9c9a2 100644 --- a/etc/ci/buildbot_steps.yml +++ b/etc/ci/buildbot_steps.yml @@ -126,33 +126,6 @@ linux-nightly: - rm -rf ./python/_virtualenv - ./etc/ci/clean_build_artifacts.sh -magicleap: - env: - MAGICLEAP_SDK: /Users/servo/magicleap/v0.17.0 - MLCERT: /Users/servo/magicleap/certs/TempSharedCert.cert - commands: - - ./mach clean-nightlies --keep 3 --force - - ./mach clean-cargo-cache --keep 3 --force - - ./etc/ci/clean_build_artifacts.sh - - env -u OPENSSL_INCLUDE_DIR -u OPENSSL_LIB_DIR ./mach build --magicleap --dev - - ./mach package --magicleap --dev - - bash ./etc/ci/lockfile_changed.sh - - ./etc/ci/clean_build_artifacts.sh - -magicleap-nightly: - env: - MAGICLEAP_SDK: /Users/servo/magicleap/v0.17.0 - MLCERT: /Users/servo/magicleap/certs/TempSharedCert.cert - commands: - - ./mach clean-nightlies --keep 3 --force - - ./mach clean-cargo-cache --keep 3 --force - - ./etc/ci/clean_build_artifacts.sh - - env -u OPENSSL_INCLUDE_DIR -u OPENSSL_LIB_DIR ./mach build --magicleap --release - - ./mach package --magicleap --release - - ./mach upload-nightly magicleap - - bash ./etc/ci/lockfile_changed.sh - - ./etc/ci/clean_build_artifacts.sh - arm64: env: AR: /usr/bin/aarch64-linux-gnu-ar @@ -196,6 +169,8 @@ mac-rel-wpt3: [] android-nightly: [] windows-msvc-nightly: [] mac-nightly: [] +magicleap-nightly: [] +magicleap: [] # No longer maintained arm32: [] diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index 36a9d3b1d01..850d939f6e6 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -18,7 +18,7 @@ def main(task_for): if task_for == "github-push": # FIXME https://github.com/servo/servo/issues/22325 implement these: - magicleap_dev = linux_arm32_dev = linux_arm64_dev = lambda: None + linux_arm32_dev = linux_arm64_dev = lambda: None # FIXME https://github.com/servo/servo/issues/22187 # In-emulator testing is disabled for now. (Instead we only compile.) @@ -94,6 +94,7 @@ def main(task_for): windows_nightly() macos_nightly() update_wpt() + magicleap_nightly() # These are disabled in a "real" decision task, @@ -796,6 +797,60 @@ def macos_build_task(name): ) +def magicleap_build_task(name, build_type): + return ( + macos_build_task(name) + .with_treeherder("MagicLeap aarch64", build_type) + .with_directory_mount( + "https://servo-deps.s3.amazonaws.com/magicleap/macos-sdk-v0.17.0.tar.gz", + sha256="e81de47ad963891ac68768d93ab5a36ed3af3a3efebb4dbc4db2e65647d57655", + path="magicleap" + ) + .with_directory_mount( + "https://servo-deps.s3.amazonaws.com/magicleap/TempSharedCert.zip", + sha256="cdc2d26bc87ecf1cd8133df4e72c4eca5df7ddd815d0adf3045460253c1fe123", + path="magicleap" + ) + # Early script in order to run with the initial $PWD + .with_early_script(""" + export MAGICLEAP_SDK="$PWD/magicleap/v0.17.0" + export MLCERT="$PWD/magicleap/TempSharedCert.cert" + """) + .with_script(""" + unset OPENSSL_INCLUDE_DIR + unset OPENSSL_LIB_DIR + export HOST_CC=$(brew --prefix llvm)/bin/clang + export HOST_CXX=$(brew --prefix llvm)/bin/clang++ + """) + ) + + +def magicleap_dev(): + return ( + magicleap_build_task("Dev build", "Dev") + .with_script(""" + ./mach build --magicleap --dev + env -u DYLD_LIBRARY_PATH ./mach package --magicleap --dev + """) + .find_or_create("build.magicleap_dev." + CONFIG.git_sha) + ) + + +def magicleap_nightly(): + return ( + magicleap_build_task("Nightly build and upload", "Release") + .with_features("taskclusterProxy") + .with_scopes("secrets:get:project/servo/s3-upload-credentials") + .with_script(""" + ./mach build --magicleap --release + env -u DYLD_LIBRARY_PATH ./mach package --magicleap --release + "./mach upload-nightly magicleap --secret-from-taskcluster", + """) + .with_artifacts("repo/target/magicleap/aarch64-linux-android/release/Servo2D.mpk") + .find_or_create("build.magicleap_nightly." + CONFIG.git_sha) + ) + + CONFIG.task_name_template = "Servo: %s" CONFIG.index_prefix = "project.servo.servo" CONFIG.docker_image_build_worker_type = "servo-docker-worker"