Bug 1493948 - Package binary of geckodriver into its own artifact. r=jlorenzo
authorHenrik Skupin <mail@hskupin.info>
Tue, 12 Mar 2019 15:40:33 +0000
changeset 524552 eba70db52fa545d7e16047948e06506ab9ade728
parent 524551 016a77373b3ac9702baf2f75043c646e2925fc28
child 524553 aa554fe5d8fe9c2392b1d3daaa2757d2763636d1
push id2032
push userffxbld-merge
push dateMon, 13 May 2019 09:36:57 +0000
treeherdermozilla-release@455c1065dcbe [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjlorenzo
bugs1493948
milestone67.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1493948 - Package binary of geckodriver into its own artifact. r=jlorenzo This task extracts the binary of geckodriver from the common test package and stores it into its own artifact. For now this task is only run after Nightly build tasks on supported platforms.. Differential Revision: https://phabricator.services.mozilla.com/D23094
taskcluster/ci/config.yml
taskcluster/ci/geckodriver-repack/kind.yml
taskcluster/docs/kinds.rst
--- a/taskcluster/ci/config.yml
+++ b/taskcluster/ci/config.yml
@@ -88,16 +88,17 @@ treeherder:
         'ms-stage': 'Autograph-stage MAR signing test'
         'Rel': 'Release promotion'
         'Snap': 'Snap image generation'
         'langpack': 'Langpack sigatures and uploads'
         'TPS': 'Sync tests'
         'UV': 'Update verify'
         'pipfu': 'pipfile update'
         'WR': 'WebRender standalone'
+        'Gd': 'Geckodriver'
 
 index:
     products:
         - 'firefox'
         - 'fennec'
         - 'mobile'
         - 'static-analysis'
         - 'devedition'
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/geckodriver-repack/kind.yml
@@ -0,0 +1,124 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+loader: taskgraph.loader.transform:loader
+
+kind-dependencies:
+    - build
+    - fetch
+
+transforms:
+    - taskgraph.transforms.job:transforms
+    - taskgraph.transforms.task:transforms
+
+job-defaults:
+    attributes:
+        nightly: true
+    description: "Extract geckodriver binary from common tests package"
+    treeherder:
+        kind: other
+        symbol: Gd(repack)
+        tier: 2
+    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+    worker:
+        max-run-time: 1200
+        docker-image: {in-tree: debian9-amd64-build}
+    run:
+        using: run-task
+
+jobs:
+    linux/opt:
+        treeherder:
+            platform: linux32/opt
+        dependencies:
+            build-linux/opt: build-linux-nightly/opt
+        fetches:
+            build-linux/opt:
+                - artifact: target.common.tests.tar.gz
+        worker:
+            artifacts:
+                - type: file
+                  name: public/geckodriver.tar.gz
+                  path: /builds/worker/geckodriver.tar.gz
+        run:
+            command: >
+                cd /builds/worker/fetches/bin/ &&
+                tar -cvzf geckodriver.tar.gz geckodriver &&
+                cp geckodriver.tar.gz /builds/worker
+
+    linux64/opt:
+        treeherder:
+            platform: linux64/opt
+        dependencies:
+            build-linux64/opt: build-linux64-nightly/opt
+        fetches:
+            build-linux64/opt:
+                - artifact: target.common.tests.tar.gz
+        worker:
+            artifacts:
+                - type: file
+                  name: public/geckodriver.tar.gz
+                  path: /builds/worker/geckodriver.tar.gz
+        run:
+            command: >
+                cd /builds/worker/fetches/bin/ &&
+                tar -cvzf geckodriver.tar.gz geckodriver &&
+                cp geckodriver.tar.gz /builds/worker
+
+    macosx64/opt:
+        treeherder:
+            platform: osx-cross/opt
+        dependencies:
+            build-macosx64/opt: build-macosx64-nightly/opt
+        fetches:
+            build-macosx64/opt:
+                - artifact: target.common.tests.tar.gz
+        worker:
+            artifacts:
+                - type: file
+                  name: public/geckodriver.tar.gz
+                  path: /builds/worker/geckodriver.tar.gz
+        run:
+            command: >
+                cd /builds/worker/fetches/bin/ &&
+                tar -cvzf geckodriver.tar.gz geckodriver &&
+                cp geckodriver.tar.gz /builds/worker
+
+    win32/opt:
+        treeherder:
+            platform: windows2012-32/opt
+        dependencies:
+            build-win32/opt: build-win32-nightly/opt
+        fetches:
+            build-win32/opt:
+                - artifact: target.common.tests.tar.gz
+        worker:
+            artifacts:
+                - type: file
+                  name: public/geckodriver.zip
+                  path: /builds/worker/geckodriver.zip
+        run:
+            command: >
+                cd /builds/worker/fetches/bin/ &&
+                zip -r geckodriver.zip geckodriver.exe &&
+                cp geckodriver.zip /builds/worker
+
+    win64/opt:
+        treeherder:
+            platform: windows2012-64/opt
+        dependencies:
+            build-win64/opt: build-win64-nightly/opt
+        fetches:
+            build-win64/opt:
+                - artifact: target.common.tests.tar.gz
+        worker:
+            artifacts:
+                - type: file
+                  name: public/geckodriver.zip
+                  path: /builds/worker/geckodriver.zip
+        run:
+            command: >
+                cd /builds/worker/fetches/bin/ &&
+                zip -r geckodriver.zip geckodriver.exe &&
+                cp geckodriver.zip /builds/worker
--- a/taskcluster/docs/kinds.rst
+++ b/taskcluster/docs/kinds.rst
@@ -561,8 +561,13 @@ Tasks that generate builds with PGO inst
 intermediate build that can be used to generate profiling information for a
 final PGO build. This is the 1st stage of the full 3-step PGO process.
 
 generate-profile
 ----------------
 Tasks that take a build configured for PGO and run the binary against a sample
 set to generate profile data. This is the 2nd stage of the full 3-step PGO
 process.
+
+geckodriver-repack
+------------------
+Tasks to repackage the geckodriver binary from a build tasks's common
+test archive into it's own archive.