diff --git a/etc/ci/buildbot_steps.yml b/etc/ci/buildbot_steps.yml index 7ee31c790c21..394a09254e78 100644 --- a/etc/ci/buildbot_steps.yml +++ b/etc/ci/buildbot_steps.yml @@ -109,21 +109,6 @@ linux-rel-css: - bash ./etc/ci/lockfile_changed.sh - ./etc/ci/clean_build_artifacts.sh -linux-nightly: - env: - CC: gcc-5 - CXX: g++-5 - commands: - - ./mach clean-nightlies --keep 3 --force - - ./mach clean-cargo-cache --keep 3 --force - - ./etc/ci/clean_build_artifacts.sh - - ./mach build --release -p servo - - ./mach test-perf - - python3 ./etc/ci/performance/download_buildbot_timings.py --verbose - - aws s3 sync --size-only --acl public-read ./etc/ci/performance/output s3://servo-perf - - rm -rf ./python/_virtualenv - - ./etc/ci/clean_build_artifacts.sh - android-mac: commands: - ./mach clean-nightlies --keep 3 --force @@ -231,3 +216,4 @@ mac-rel-wpt1: [] android-nightly: [] windows-msvc-nightly: [] mac-nightly: [] +linux-nightly: [] \ No newline at end of file diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index e5b16c5b9520..8fe320bd7658 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -63,7 +63,8 @@ def main(task_for): "try-arm": [linux_arm32_dev, linux_arm64_dev], "try-wpt": [linux_wpt], "try-wpt-mac": [macos_wpt], - "try-wpt-android": [android_x86_wpt], + "try-wpt-android": [#android_x86_wpt, + linux_nightly], "try-android": [ android_arm32_dev, android_arm32_dev_from_macos, @@ -406,20 +407,53 @@ def windows_nightly(): def linux_nightly(): - return ( + build_task = ( linux_build_task("Nightly build and upload") .with_treeherder("Linux x64", "Nightly") .with_features("taskclusterProxy") - .with_scopes("secrets:get:project/servo/s3-upload-credentials") + #.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", + #"./mach package --release", + #"./mach upload-nightly linux --secret-from-taskcluster", ) .with_artifacts("/repo/target/release/servo-tech-demo.tar.gz") + ) + build_task = ( + with_linux_test_artifact(build_task) .find_or_create("build.linux_x64_nightly" + CONFIG.git_sha) ) + return ( + linux_task("Performance test") + .with_dockerfile(dockerfile_path("run")) + .with_treeherder("Linux x64", "Perf") + .with_repo() + .with_curl_artifact_script(build_task, "target.tar.gz") + .with_script("tar -xzf target.tar.gz") + .with_index_and_artifacts_expire_in(log_artifacts_expire_in) + .with_max_run_time_minutes(90) + #.with_scopes("secrets:get:project/servo/s3-upload-credentials") + .with_script(""" + ./mach test-perf + python3 ./etc/ci/performance/download_buildbot_timings.py --verbose + """) + # aws s3 sync --size-only --acl public-read ./etc/ci/performance/output s3://servo-perf + .find_or_create("perf.linux_x64_nightly" + CONFIG.git_sha) + ) + + +def with_linux_test_artifact(task): + return ( + task + .with_script(""" + tar -czf /target.tar.gz \ + target/release/servo \ + target/release/build/osmesa-src-*/output \ + target/release/build/osmesa-src-*/out/lib/gallium + """) + .with_artifacts("/target.tar.gz") + ) def linux_wpt(): @@ -429,12 +463,10 @@ def linux_wpt(): .with_script(""" ./mach build --release --with-debug-assertions -p servo ./etc/ci/lockfile_changed.sh - tar -czf /target.tar.gz \ - target/release/servo \ - target/release/build/osmesa-src-*/output \ - target/release/build/osmesa-src-*/out/lib/gallium """) - .with_artifacts("/target.tar.gz") + ) + release_build_task = ( + with_linux_test_artifact(release_build_task) .find_or_create("build.linux_x64_release~assertions" + CONFIG.git_sha) ) def linux_run_task(name): diff --git a/etc/taskcluster/docker/run.dockerfile b/etc/taskcluster/docker/run.dockerfile index 67e048f8e49a..dd4803bf016a 100644 --- a/etc/taskcluster/docker/run.dockerfile +++ b/etc/taskcluster/docker/run.dockerfile @@ -6,5 +6,7 @@ RUN apt-get install -qy --no-install-recommends \ libssl1.0.0 \ libdbus-1-3 \ libgstreamer-plugins-bad1.0-0 \ - gstreamer1.0-plugins-good + gstreamer1.0-plugins-good \ + wget \ + unzip