.cron.yml
author Emilio Cobos Álvarez <emilio@crisal.io>
Fri, 22 Mar 2019 22:26:53 +0000
changeset 465793 88b6e96d82153bf333e1a309f5ae384906168883
parent 463873 57387d4ed085fb614820aac402b758d88aa29452
child 466445 e7778d636a11581c6edde3259abd1954924159d1
permissions -rw-r--r--
Bug 1531333 - Fix <svg:use> cycle detection. r=longsonr With the current code we'll eventually detect the cycle, but will take much more, creating many shadow trees unnecessarily. Take for example the following: <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="133" height="232774"> <style> symbol { display: block } </style> <symbol id="svg-sprite" viewBox="0 0 133 230866"> <title>svg-sprite</title> <symbol id="svg-sprite" viewBox="0 0 133 230866"> <title>svg-sprite</title> <use xlink:href="#svg-sprite" width="500" height="500" /> </symbol> <use xlink:href="#svg-sprite" y="1601" width="133" height="228958" /> </symbol> <use xlink:href="#svg-sprite" y="1601" width="133" height="230866" /> </svg> Before this patch, we'd create an svg use element subtree for #svg-sprite. That subtree will contain two other <use> elements, one under the <symbol>, one not under it. Both point to #svg-sprite, but we fail to detect we're an ancestor since the element #svg-sprite we're looking at is the clone of the #svg-sprite element. Thus we need to take a look at mOriginal instead (which is the <use> element under #svg-sprite) rather than at the clone. Yeah, I had to draw the trees, it's messy :) Blink and WebKit do something slightly different (they check the element id directly[1]). That's not 100% correct, since you can have multiple elements with the same ID. [1]: https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/svg/svg_use_element.cc?l=560&rcl=861855dcb8c39ba8d42497247d433277858df79b Differential Revision: https://phabricator.services.mozilla.com/D24565

# Definitions for jobs that run periodically.  For details on the format, see
# `taskcluster/taskgraph/cron/schema.py`.  For documentation, see
# `taskcluster/docs/cron.rst`.

---

jobs:
    - name: nightly-desktop
      job:
          type: decision-task
          treeherder-symbol: Nd
          target-tasks-method: nightly_desktop
      run-on-projects:
          - mozilla-central
      when:
          by-project:
              # Match buildbot starts for now
              mozilla-central: [{hour: 10, minute: 0}, {hour: 22, minute: 0}]
              # No default

    - name: nightly-desktop-linux
      job:
          type: decision-task
          treeherder-symbol: Nd-Ln
          target-tasks-method: nightly_linux
      run-on-projects:
          - mozilla-central
      when: []  # never (hook only)

    - name: nightly-desktop-osx
      job:
          type: decision-task
          treeherder-symbol: Nd-OSX
          target-tasks-method: nightly_macosx
      run-on-projects:
          - mozilla-central
      when: []  # never (hook only)

    - name: nightly-desktop-win32
      job:
          type: decision-task
          treeherder-symbol: Nd-win32
          target-tasks-method: nightly_win32
      run-on-projects:
          - mozilla-central
      when: []  # never (hook only)

    - name: nightly-desktop-win64
      job:
          type: decision-task
          treeherder-symbol: Nd-win64
          target-tasks-method: nightly_win64
      run-on-projects:
          - mozilla-central
      when: []  # never (hook only)

    - name: nightly-desktop-win64-aarch64
      job:
          type: decision-task
          treeherder-symbol: Nd-win64-aarch64
          target-tasks-method: nightly_win64_aarch64
      run-on-projects:
          - mozilla-central
      when: []  # never (hook only)

    - name: nightly-android
      job:
          type: decision-task
          treeherder-symbol: Na
          target-tasks-method: nightly_fennec
      run-on-projects:
          - mozilla-central
      when:
          by-project:
              # Match buildbot starts for now
              mozilla-central: [{hour: 10, minute: 0}]
              # No default

    - name: nightly-mochitest-valgrind
      job:
          type: decision-task
          treeherder-symbol: Vg
          target-tasks-method: mochitest_valgrind
      run-on-projects:
          - mozilla-central
      when:
          - {hour: 16, minute: 0}
          - {hour: 4, minute: 0}

    - name: searchfox-index
      job:
          type: decision-task
          treeherder-symbol: Searchfox
          target-tasks-method: searchfox_index
      run-on-projects:
          - mozilla-central
          - mozilla-beta
          - mozilla-release
      when:
          - {hour: 10, minute: 0}

    - name: customv8-update
      job:
          type: decision-task
          treeherder-symbol: customv8
          target-tasks-method: customv8_update
          optimize-target-tasks: false
      run-on-projects:
          - mozilla-central
      when:
          by-project:
              mozilla-central: [{hour: 10, minute: 30}]

    - name: chromium-update
      job:
          type: decision-task
          treeherder-symbol: Chromium
          target-tasks-method: chromium_update
          optimize-target-tasks: false
      run-on-projects:
          - mozilla-central
      when:
          by-project:
              mozilla-central: [{hour: 10, minute: 30}]

    - name: bouncer-check
      job:
          type: decision-task
          treeherder-symbol: Rel
          target-tasks-method: cron_bouncer_check
      run-on-projects:
          - mozilla-beta
          - mozilla-release
      when:
          by-project:
              # No default branch
              mozilla-beta:
                  - {hour: 7, minute: 0}
                  - {hour: 19, minute: 0}
              mozilla-release:
                  - {hour: 7, minute: 0}
                  - {hour: 19, minute: 0}
              mozilla-esr60:
                  - {hour: 7, minute: 0}
                  - {hour: 19, minute: 0}

    - name: periodic-update
      job:
          type: decision-task
          treeherder-symbol: Nfile
          target-tasks-method: file_update
      run-on-projects:
          - mozilla-central
          - mozilla-beta
          - mozilla-release
          - mozilla-esr60
      when:
          by-project:
              # No default branch
              mozilla-central:
                  - {weekday: 'Monday', hour: 10, minute: 0}
                  - {weekday: 'Thursday', hour: 10, minute: 0}
              mozilla-beta:
                  - {weekday: 'Monday', hour: 10, minute: 0}
                  - {weekday: 'Thursday', hour: 10, minute: 0}
              mozilla-release:
                  - {weekday: 'Monday', hour: 10, minute: 0}
                  - {weekday: 'Thursday', hour: 10, minute: 0}
              mozilla-esr60:
                  - {weekday: 'Monday', hour: 10, minute: 0}
                  - {weekday: 'Thursday', hour: 10, minute: 0}

    - name: pipfile-update
      job:
          type: decision-task
          treeherder-symbol: Nfile
          target-tasks-method: pipfile_update
      run-on-projects:
          - mozilla-central
      when:
          by-project:
              # No default branch
              mozilla-central:
                  - {weekday: 'Monday', hour: 10, minute: 0}