Bug 1274350 - Update docker image, try to fix Valgrind/MemLeak tests r=me
authorTim Taubert <ttaubert@mozilla.com>
Wed, 25 May 2016 15:46:00 +0200
changeset 12201 f644a98674508a6ce5bf8e674fb6ad039a77932f
parent 12200 9a8e30fc83bcc1ea300f9dee6a1bd36ac69b92b6
child 12202 11d17d39610a826f76a566dcfdca24f1bd675a6e
push id1252
push userttaubert@mozilla.com
push dateWed, 25 May 2016 13:48:28 +0000
reviewersme
bugs1274350
Bug 1274350 - Update docker image, try to fix Valgrind/MemLeak tests r=me
.taskcluster.yml
automation/taskcluster/docker/bin/checkout.sh
automation/taskcluster/docker/setup.sh
automation/taskcluster/graph/build.js
automation/taskcluster/graph/graph.yml
--- a/.taskcluster.yml
+++ b/.taskcluster.yml
@@ -59,24 +59,24 @@ tasks:
         # mozilla-taskcluster will append the appropriate assume:repo:<repo>
         # scope here.
 
       routes:
         - "tc-treeherder-stage.nss.{{revision_hash}}"
         - "tc-treeherder.nss.{{revision_hash}}"
 
       payload:
-        image: "ttaubert/nss-ci:0.0.13"
+        image: "ttaubert/nss-ci:0.0.14"
 
         env:
           TC_OWNER: {{owner}}
           TC_SOURCE: {{{source}}}
           TC_REVISION: '{{revision}}'
           TC_REVISION_HASH: '{{revision_hash}}'
-          TC_DOCKER_IMAGE: "ttaubert/nss-ci:0.0.13"
+          TC_DOCKER_IMAGE: "ttaubert/nss-ci:0.0.14"
           TC_PROVISIONER_ID: "aws-provisioner-v1"
           TC_WORKER_TYPE: "hg-worker"
           NSS_HEAD_REPOSITORY: '{{{url}}}'
           NSS_HEAD_REVISION: '{{revision}}'
 
         features:
           taskclusterProxy: true
 
--- a/automation/taskcluster/docker/bin/checkout.sh
+++ b/automation/taskcluster/docker/bin/checkout.sh
@@ -2,10 +2,14 @@
 
 set -v -e -x
 
 if [ $(id -u) = 0 ]; then
     # Drop privileges by re-running this script.
     exec su worker $0
 fi
 
+# Default values for testing.
+REVISION=${NSS_HEAD_REVISION:-default}
+REPOSITORY=${NSS_HEAD_REPOSITORY:-https://hg.mozilla.org/projects/nss}
+
 # Clone NSS.
-hg clone -r $NSS_HEAD_REVISION $NSS_HEAD_REPOSITORY nss
+hg clone -r $REVISION $REPOSITORY nss
--- a/automation/taskcluster/docker/setup.sh
+++ b/automation/taskcluster/docker/setup.sh
@@ -4,16 +4,17 @@ set -v -e -x
 
 apt_packages=()
 apt_packages+=('build-essential')
 apt_packages+=('ca-certificates')
 apt_packages+=('curl')
 apt_packages+=('mercurial')
 apt_packages+=('npm')
 apt_packages+=('git')
+apt_packages+=('valgrind')
 apt_packages+=('zlib1g-dev')
 
 # 32-bit builds
 apt_packages+=('lib32z1-dev')
 apt_packages+=('gcc-multilib')
 apt_packages+=('g++-multilib')
 
 # Install prerequisites.
--- a/automation/taskcluster/graph/build.js
+++ b/automation/taskcluster/graph/build.js
@@ -72,17 +72,17 @@ function build_task(id, def) {
     delete def.extends;
 
     var template = doc.templates[base];
     def = merge.recursive(true, template, def);
   }
 
   // Fill in attributes.
   task.metadata.name = def.name;
-  task.metadata.description = def.description;
+  task.metadata.description = def.name;
   task.payload.command = def.command;
   task.payload.env = def.env || {};
   task.extra.treeherder = merge.recursive(true, task.extra.treeherder, def.treeherder || {});
 
   // Forward some GitHub env variables.
   task.payload.env.NSS_HEAD_REPOSITORY = process.env.NSS_HEAD_REPOSITORY;
   task.payload.env.NSS_HEAD_REVISION = process.env.NSS_HEAD_REVISION;
 
--- a/automation/taskcluster/graph/graph.yml
+++ b/automation/taskcluster/graph/graph.yml
@@ -1,14 +1,12 @@
 templates:
   ## Base Definitions #########################################################
 
   builder:
-    name: "NSS"
-    description: "Build NSS & NSPR"
     artifact: "dist.tar.bz2"
     command:
       - "/bin/bash"
       - "-c"
       - "bin/checkout.sh && nss/automation/taskcluster/scripts/build.sh"
     env:
       NSS_ENABLE_TLS_1_3: 1
     treeherder:
@@ -34,246 +32,227 @@ templates:
 
   test_runner:
     command:
       - "/bin/bash"
       - "-c"
       - "bin/checkout.sh && nss/automation/taskcluster/scripts/run_tests.sh"
 
   memleak:
-    name: "memleak tests"
-    description: "MemLeak tests"
     extends: test_runner
     env:
       NSS_TESTS: "memleak"
     treeherder:
       groupSymbol: ML
       groupName: MemLeak tests
 
   ## Test Definitions #########################################################
 
   cert:
-    name: "cert tests"
-    description: "Cert tests"
+    name: "Cert tests"
     extends: test_runner
     env:
       NSS_TESTS: "cert"
     treeherder:
-      symbol: Ce
+      symbol: Cert
 
   chains:
-    name: "chains tests"
-    description: "Chains tests"
+    name: "Chains tests"
     extends: test_runner
     env:
       NSS_TESTS: "chains"
     treeherder:
-      symbol: Ch
+      symbol: Chains
 
   cipher:
-    name: "cipher tests"
-    description: "Cipher tests"
+    name: "Cipher tests"
     extends: test_runner
     env:
       NSS_TESTS: "cipher"
     treeherder:
-      symbol: Ci
+      symbol: Cipher
 
   crmf:
-    name: "crmf tests"
-    description: "CRMF tests"
+    name: "CRMF tests"
     extends: test_runner
     env:
       NSS_TESTS: "crmf"
     treeherder:
       symbol: CRMF
 
   dbtests:
-    name: "dbtests"
-    description: "DBTests"
+    name: "DB tests"
     extends: test_runner
     env:
       NSS_TESTS: "dbtests"
     treeherder:
       symbol: DB
 
   ec:
     name: "EC tests"
-    description: "EC tests"
     extends: test_runner
     env:
       NSS_TESTS: "ec"
     treeherder:
       symbol: EC
 
   fips:
     name: "FIPS tests"
-    description: "FIPS tests"
     extends: test_runner
     env:
       NSS_TESTS: "fips"
     treeherder:
       symbol: FIPS
 
   gtests:
     name: "GTests"
-    description: "GTests"
     extends: test_runner
     env:
       NSS_TESTS: "ssl_gtests gtests"
     treeherder:
       symbol: GTest
 
   libpkix:
     name: "libpkix tests"
-    description: "libpkix tests"
     extends: test_runner
     env:
       NSS_TESTS: "libpkix"
     treeherder:
       symbol: PKIX
 
   lowhash:
     name: "lowhash tests"
-    description: "lowhash tests"
     extends: test_runner
     env:
       NSS_TESTS: "lowhash"
     treeherder:
-      symbol: Lh
+      symbol: Lowhash
 
-  memleak_srv:
-    name: "memleak tests (ssl_server)"
+  memleak_server:
+    name: "MemLeak tests (ssl_server)"
     extends: memleak
     env:
       NSS_MEMLEAK_TESTS: "ssl_server"
     treeherder:
-      symbol: srv
+      symbol: server
 
-  memleak_clnt:
-    name: "memleak tests (ssl_client)"
+  memleak_client:
+    name: "MemLeak tests (ssl_client)"
     extends: memleak
     env:
       NSS_MEMLEAK_TESTS: "ssl_client"
     treeherder:
-      symbol: clnt
+      symbol: client
 
   memleak_chains:
-    name: "memleak tests (chains)"
+    name: "MemLeak tests (chains)"
     extends: memleak
     env:
       NSS_MEMLEAK_TESTS: "chains"
     treeherder:
-      symbol: ch
+      symbol: chains
 
   memleak_ocsp:
-    name: "memleak tests (ocsp)"
+    name: "MemLeak tests (ocsp)"
     extends: memleak
     env:
       NSS_MEMLEAK_TESTS: "ocsp"
     treeherder:
       symbol: ocsp
 
   merge:
-    name: "merge tests"
-    description: "Merge tests"
+    name: "Merge tests"
     extends: test_runner
     env:
       NSS_TESTS: "merge"
     treeherder:
       symbol: Merge
 
   ocsp:
-    name: "ocsp tests"
-    description: "OCSP tests"
+    name: "OCSP tests"
     extends: test_runner
     env:
       NSS_TESTS: "ocsp"
     treeherder:
       symbol: OCSP
 
   pkits:
-    name: "pkits tests"
-    description: "NIST PKITS tests"
+    name: "NIST PKITS tests"
     extends: test_runner
     env:
       NSS_TESTS: "pkits"
     treeherder:
       symbol: PKITS
 
   sdr:
-    name: "sdr tests"
-    description: "SDR tests"
+    name: "SDR tests"
     extends: test_runner
     env:
       NSS_TESTS: "sdr"
     treeherder:
       symbol: SDR
 
   smime:
-    name: "smime tests"
-    description: "S/MIME tests"
+    name: "S/MIME tests"
     extends: test_runner
     env:
       NSS_TESTS: "smime"
     treeherder:
       symbol: SMIME
 
   ssl: # Update this when TLS v1.3 doesn't fail these anymore.
-    name: "ssl tests"
-    description: "SSL tests"
+    name: "SSL tests"
     artifact: "dist.tar.bz2"
     command:
       - "/bin/bash"
       - "-c"
       - "bin/checkout.sh && nss/automation/taskcluster/scripts/build.sh"
     env:
       NSS_ENABLE_TLS_1_3: "" # Remove this.
       NSS_TESTS: "ssl"
     treeherder:
       groupSymbol: SSL
       groupName: SSL tests
     subtasks:
-      ssl_std: true
+      ssl_standard: true
       ssl_pkix: true
-      ssl_udb: true
-      ssl_sdb: true
+      ssl_upgradedb: true
+      ssl_sharedb: true
 
-  ssl_std:
-    name: "SSL tests (cycle=standard)"
+  ssl_standard:
+    name: "SSL tests (standard)"
     extends: test_runner
     env:
       NSS_CYCLES: "standard"
     treeherder:
-      symbol: "std"
+      symbol: "standard"
   ssl_pkix:
-    name: "SSL tests (cycle=pkix)"
+    name: "SSL tests (pkix)"
     extends: test_runner
     env:
       NSS_CYCLES: "pkix"
     treeherder:
       symbol: "pkix"
-  ssl_udb:
-    name: "SSL tests (cycle=upgradedb)"
+  ssl_upgradedb:
+    name: "SSL tests (upgradedb)"
     extends: test_runner
     env:
       NSS_CYCLES: "upgradedb"
     treeherder:
-      symbol: "udb"
-  ssl_sdb:
-    name: "SSL tests (cycle=sharedb)"
+      symbol: "upgradedb"
+  ssl_sharedb:
+    name: "SSL tests (sharedb)"
     extends: test_runner
     env:
       NSS_CYCLES: "sharedb"
     treeherder:
-      symbol: "sdb"
+      symbol: "sharedb"
 
   tools:
-    name: "tools tests"
-    description: "Tools tests"
+    name: "Tools tests"
     extends: test_runner
     env:
       NSS_TESTS: "tools"
     treeherder:
       symbol: Tools
 
 graph:
   build-32-debug:
@@ -302,18 +281,18 @@ graph:
     env:
       USE_64: 1
     treeherder:
       build:
         platform: linux64
       collection:
         debug: true
     subtasks:
-      memleak_srv: true
-      memleak_clnt: true
+      memleak_server: true
+      memleak_client: true
       memleak_chains: true
       memleak_ocsp: true
 
   build-64-asan:
     name: "Linux 64 (ASan)"
     extends: builder
     env:
       USE_ASAN: 1
@@ -367,17 +346,16 @@ graph:
 #   env:
 #     BUILD_OPT: 1
 #     USE_64: 1
 #     CCC: g++-6
 #     CC: gcc-6
 
   clang-format:
     name: "clang-format-3.8"
-    description: "Validate source code formatting"
     command:
       - "/bin/bash"
       - "-c"
       - "bin/checkout.sh && nss/automation/taskcluster/scripts/run_clang_format.sh nss/lib/ssl"
     treeherder:
       symbol: clang-format
       build:
         platform: nss-tools