mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Move android nightly build to taskcluster.
This commit is contained in:
parent
0a5aab6cc2
commit
6ded5c9707
3 changed files with 57 additions and 26 deletions
|
@ -144,23 +144,6 @@ android-mac:
|
|||
- bash ./etc/ci/lockfile_changed.sh
|
||||
- ./etc/ci/clean_build_artifacts.sh
|
||||
|
||||
android-nightly:
|
||||
env:
|
||||
HOST_CC: gcc-5
|
||||
HOST_CXX: g++-5
|
||||
commands:
|
||||
- ./mach clean-nightlies --keep 3 --force
|
||||
- ./mach clean-cargo-cache --keep 3 --force
|
||||
- ./etc/ci/clean_build_artifacts.sh
|
||||
- ./mach bootstrap-android --accept-all-licences --build
|
||||
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach build --android --release
|
||||
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach package --android --release --maven
|
||||
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach build --target=i686-linux-android --release
|
||||
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach package --target=i686-linux-android --release --maven
|
||||
- ./mach upload-nightly android
|
||||
- ./mach upload-nightly maven
|
||||
- ./etc/ci/clean_build_artifacts.sh
|
||||
|
||||
magicleap:
|
||||
env:
|
||||
MAGICLEAP_SDK: /Users/servo/magicleap/v0.17.0
|
||||
|
@ -265,3 +248,4 @@ windows-msvc-dev: []
|
|||
android: []
|
||||
android-x86: []
|
||||
mac-rel-wpt1: []
|
||||
android-nightly: []
|
||||
|
|
|
@ -90,6 +90,8 @@ def main(task_for):
|
|||
daily_tasks_setup()
|
||||
with_rust_nightly()
|
||||
linux_nightly()
|
||||
android_nightly("arm")
|
||||
android_nightly("x86")
|
||||
|
||||
|
||||
# These are disabled in a "real" decision task,
|
||||
|
@ -260,6 +262,41 @@ def android_arm32_dev():
|
|||
)
|
||||
|
||||
|
||||
def android_nightly(job):
|
||||
details = {
|
||||
"arm": {
|
||||
"mach_flag": "--android",
|
||||
"name": "ARMv7",
|
||||
"target": "armv7-linux-androideabi",
|
||||
},
|
||||
"x86": {
|
||||
"mach_flag": "--target i686-linux-android",
|
||||
"name": "x86",
|
||||
"target": "i686-linux-android",
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
android_build_task("Release build")
|
||||
.with_treeherder("Android " + details[job]["name"], "Nightly")
|
||||
.with_features("taskclusterProxy")
|
||||
.with_script("""
|
||||
./mach build {flag} --release
|
||||
./mach package {flag} --release --maven
|
||||
""".format(flag=details[job]["mach_flag"])
|
||||
.with_s3_upload_secret()
|
||||
.with_script("""
|
||||
./mach upload-nightly android
|
||||
./mach upload-nightly maven
|
||||
""")
|
||||
.with_artifacts(
|
||||
"/repo/target/android/%s/release/servoapp.apk" % details[job]["target"],
|
||||
"/repo/target/android/%s/release/servoview.aar" % details[job]["target"],
|
||||
)
|
||||
.find_or_create(("build.android_%s_nightly." + CONFIG.git_sha) % details[job]["name"].lower())
|
||||
)
|
||||
|
||||
|
||||
def android_arm32_release():
|
||||
return (
|
||||
android_build_task("Release build")
|
||||
|
@ -359,19 +396,13 @@ def linux_nightly():
|
|||
linux_build_task("Nightly build and upload")
|
||||
.with_treeherder("Linux x64", "Nightly")
|
||||
.with_features("taskclusterProxy")
|
||||
.with_scopes("secrets:get:project/servo/s3-upload")
|
||||
.with_env(PY=r"""if 1:
|
||||
import urllib, json
|
||||
url = "http://taskcluster/secrets/v1/secret/project/servo/s3-upload"
|
||||
secret = json.load(urllib.urlopen(url))["secret"]
|
||||
open("/root/.aws/credentials", "w").write(secret["credentials_file"])
|
||||
""")
|
||||
# Not reusing the build made for WPT because it has debug assertions
|
||||
.with_script("""
|
||||
./mach build --release
|
||||
./mach package --release
|
||||
mkdir /root/.aws
|
||||
python -c "$PY"
|
||||
""")
|
||||
.with_s3_upload_secret()
|
||||
.with_script("""
|
||||
./mach upload-nightly linux
|
||||
""")
|
||||
.with_artifacts("/repo/target/release/servo-tech-demo.tar.gz")
|
||||
|
|
|
@ -173,6 +173,22 @@ class Task:
|
|||
self.treeherder_required = False # Taken care of
|
||||
return self
|
||||
|
||||
def with_s3_upload_secret(self):
|
||||
return (
|
||||
self
|
||||
.with_scopes("secrets:get:project/servo/s3-upload")
|
||||
.with_env(PY=r"""if 1:
|
||||
import urllib, json
|
||||
url = "http://taskcluster/secrets/v1/secret/project/servo/s3-upload"
|
||||
secret = json.load(urllib.urlopen(url))["secret"]
|
||||
open("/root/.aws/credentials", "w").write(secret["credentials_file"])
|
||||
""")
|
||||
.with_script("""
|
||||
mkdir /root/.aws
|
||||
python -c "$PY"
|
||||
""")
|
||||
)
|
||||
|
||||
def build_worker_payload(self): # pragma: no cover
|
||||
"""
|
||||
Overridden by sub-classes to return a dictionary in a worker-specific format,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue