diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2019-05-17 00:05:04 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-17 00:05:04 -0400 |
commit | cb4e3e298e94719d28a830c5dc676dc614c07289 (patch) | |
tree | f45f0cea21a5a5c2eba0183350f0205a3200e2b5 | |
parent | 5d479109ef3bdbf0d937f6ea318e9cce8bbde2b3 (diff) | |
parent | 1990a22a1b9dd6641b9cc34bb76d8749c1096cd6 (diff) | |
download | servo-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.yml | 29 | ||||
-rw-r--r-- | etc/taskcluster/decision_task.py | 57 | ||||
-rw-r--r-- | etc/taskcluster/macos/config/roster | 2 | ||||
-rw-r--r-- | python/servo/build_commands.py | 2 |
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") |