.taskcluster.yml
author David Keeler <dkeeler@mozilla.com>
Thu, 11 May 2017 13:22:52 -0700
changeset 13344 19b8f1384e9802167eea5b7bc3a3d5824406420c
parent 12538 b5bc473195a4576660a5c79fa077519e5783d4d6
child 13563 70fda6ba2043a72da5db34534d172c342b2562b9
permissions -rw-r--r--
Bug 1363932 - reduce locking overhead in sftk_searchObjectList r=franziskus Summary: Before this patch, sftk_searchObjectList would acquire and release the SFTKSlot's objectLock once per bucket in the SFTKSlot's sessObjHashTable. This patch reduces the locking overhead by acquiring the lock once and then iterating over the entire table. This patch also removes the unused PRBool tokenOnly in NSC_FindObjectsInit (the only caller of sftk_searchObjectList). (Changeset b8f289456399 removed the code that modified tokenOnly. Unfortunately there doesn't appear to be a bug associated with that changeset, so we can't easily determine if that was intended. In any case, it's been this way for a decade, so if anything was broken by this, no one has noticed yet.) Reviewers: franziskus Reviewed By: franziskus Differential Revision: https://nss-review.dev.mozaws.net/D316

---
version: 0
metadata:
  name: "NSS Continuous Integration"
  description: "The Taskcluster task graph for the NSS tree"
  owner: "mozilla-taskcluster-maintenance@mozilla.com"
  source: {{{source}}}

scopes:
  # Note the below scopes are insecure however these get overriden on the server
  # side to whatever scopes are set by mozilla-taskcluster.
  - queue:*
  - docker-worker:*
  - scheduler:*

# Available mustache parameters (see the mozilla-taskcluster source):
#
# - owner:          push user (email address)
# - source:         URL of this YAML file
# - url:            repository URL
# - project:        alias for the destination repository (basename of
#                   the repo url)
# - level:          SCM level of the destination repository
#                   (1 = try, 3 = core)
# - revision:       (short) hg revision of the head of the push
# - revision_hash:  (long) hg revision of the head of the push
# - comment:        comment of the push
# - pushlog_id:     id in the pushlog table of the repository
#
# and functions:
# - as_slugid:      convert a label into a slugId
# - from_now:       generate a timestamp at a fixed offset from now

tasks:
  - taskId: '{{#as_slugid}}decision task{{/as_slugid}}'
    reruns: 3
    task:
      created: '{{now}}'
      deadline: '{{#from_now}}1 day{{/from_now}}'
      expires: '{{#from_now}}14 days{{/from_now}}'

      metadata:
        owner: mozilla-taskcluster-maintenance@mozilla.com
        source: {{{source}}}
        name: "NSS Decision Task"
        description: |
            The task that creates all of the other tasks in the task graph

      workerType: "hg-worker"
      provisionerId: "aws-provisioner-v1"

      tags:
        createdForUser: {{owner}}

      routes:
        - "tc-treeherder-stage.v2.{{project}}.{{revision}}.{{pushlog_id}}"
        - "tc-treeherder.v2.{{project}}.{{revision}}.{{pushlog_id}}"

      payload:
        image: ttaubert/nss-decision:0.0.2

        env:
          TC_OWNER: {{owner}}
          TC_SOURCE: {{{source}}}
          TC_PROJECT: {{project}}
          TC_COMMENT: '{{comment}}'
          NSS_PUSHLOG_ID: '{{pushlog_id}}'
          NSS_HEAD_REPOSITORY: '{{{url}}}'
          NSS_HEAD_REVISION: '{{revision}}'

        maxRunTime: 1800

        command:
          - bash
          - -cx
          - >
            bin/checkout.sh &&
            nss/automation/taskcluster/scripts/extend_task_graph.sh

        features:
          taskclusterProxy: true

      extra:
        treeherder:
          symbol: D
          build:
            platform: nss-decision
          machine:
            platform: nss-decision