.cron.yml
author Nicholas Nethercote <nnethercote@mozilla.com>
Wed, 12 Jul 2017 15:13:37 +1000
changeset 368809 129793760f2d718ed61ba17d9aacd57c7ec6785b
parent 368164 a16d92beb70daa33c4e29bf25300ca259ed61b2a
child 370259 4a1819ae5e3c91d76a629d5a769dfaf3a86cc0f6
permissions -rw-r--r--
Bug 1380227 - Avoid many UTF16toUTF8 and UTF8toUTF16 conversions in nsStringBundle. r=emk. Most of the names passed to nsIStringBundle::{Get,Format}StringFromUTF8Name have one of the two following forms: - a 16-bit C string literal, which is then converted to an 8-bit string in order for the lookup to occur; - an 8-bit C string literal converted to a 16-bit string, which is then converted back to an 8-bit string in order for the lookup to occur. This patch introduces and uses alternative methods that can take an 8-bit C string literal, which requires changing some signatures in other methods and functions. It replaces all C++ uses of the old methods. The patch also changes the existing {Get,Format}StringFromName() methods so they take an AUTF8String argument for the name instead of a wstring, because that's nicer for JS code. Even though there is a method for C++ code and a different one for JS code, |binaryname| is used so that the existing method names can be used for the common case in both languages. The change reduces the number of NS_ConvertUTF8toUTF16 and NS_ConvertUTF16toUTF8 conversions while running Speedometer v2 from ~270,000 to ~160,000. (Most of these conversions involved the string "deprecatedReferrerDirective" in nsCSPParser.cpp.)

# 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_linux
      run-on-projects:
          - mozilla-central
          - date
      when:
          by-project:
            # Match buildbot starts for now
            date: [{hour: 15, minute: 0}]
            mozilla-central: [{hour: 10, minute: 0}]
            # No default

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

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

    - name: nightly-android
      job:
          type: decision-task
          treeherder-symbol: Na
          target-tasks-method: nightly_fennec
      run-on-projects:
          - mozilla-central
          - date
      when:
        by-project:
            # Match buildbot starts for now
            date: [{hour: 15, minute: 0}]
            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: nightly-dmd
      job:
          type: decision-task
          treeherder-symbol: Ndmd
          target-tasks-method: nightly_dmd
      run-on-projects:
          - mozilla-central
      when:
          by-project:
            mozilla-central: [{hour: 10, minute: 0}]
            # No default