aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-05-17 00:05:04 -0400
committerGitHub <noreply@github.com>2019-05-17 00:05:04 -0400
commitcb4e3e298e94719d28a830c5dc676dc614c07289 (patch)
treef45f0cea21a5a5c2eba0183350f0205a3200e2b5
parent5d479109ef3bdbf0d937f6ea318e9cce8bbde2b3 (diff)
parent1990a22a1b9dd6641b9cc34bb76d8749c1096cd6 (diff)
downloadservo-cb4e3e298e94719d28a830c5dc676dc614c07289.tar.gz
servo-cb4e3e298e94719d28a830c5dc676dc614c07289.zip
Auto merge of #23362 - jdm:tc-magicleap, r=SimonSapin
Move magicleap builds to taskcluster <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23362) <!-- Reviewable:end -->
-rw-r--r--etc/ci/buildbot_steps.yml29
-rw-r--r--etc/taskcluster/decision_task.py57
-rw-r--r--etc/taskcluster/macos/config/roster2
-rw-r--r--python/servo/build_commands.py2
4 files changed, 62 insertions, 28 deletions
diff --git a/etc/ci/buildbot_steps.yml b/etc/ci/buildbot_steps.yml
index 03f2dfba7a3..a291a0aa319 100644
--- a/etc/ci/buildbot_steps.yml
+++ b/etc/ci/buildbot_steps.yml
@@ -90,33 +90,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
@@ -163,6 +136,8 @@ mac-rel-css2: []
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 5173270d146..4a3537e9abf 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,
@@ -801,6 +802,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"
diff --git a/etc/taskcluster/macos/config/roster b/etc/taskcluster/macos/config/roster
index 4bc8e4f718f..0ac80407a76 100644
--- a/etc/taskcluster/macos/config/roster
+++ b/etc/taskcluster/macos/config/roster
@@ -8,3 +8,5 @@ mac4:
host: servo-tc-mac4.servo.org
mac5:
host: servo-tc-mac5.servo.org
+mac6:
+ host: servo-tc-mac6.servo.org
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py
index d6170abfb1e..05d832e3403 100644
--- a/python/servo/build_commands.py
+++ b/python/servo/build_commands.py
@@ -518,6 +518,8 @@ class MachCommands(CommandBase):
ml_sdk = env.get("MAGICLEAP_SDK")
if not ml_sdk:
raise Exception("Magic Leap builds need the MAGICLEAP_SDK environment variable")
+ if not os.path.exists(ml_sdk):
+ raise Exception("Path specified by MAGICLEAP_SDK does not exist.")
ml_support = path.join(self.get_top_dir(), "support", "magicleap")