Bug 1386588 - Add a toolchain job for GCC 6. r?gps draft
authorMike Hommey <mh+mozilla@glandium.org>
Wed, 02 Aug 2017 19:43:15 +0900
changeset 619732 d8954e252860c2b471fa2454a1a191402c5c239c
parent 619731 3d6d5b8016865dcd579be08f900ce196592d12d2
child 619733 49d45ae7a573f799025a23749581bc1270780e55
push id71785
push userbmo:mh+mozilla@glandium.org
push dateWed, 02 Aug 2017 13:26:36 +0000
reviewersgps
bugs1386588
milestone56.0a1
Bug 1386588 - Add a toolchain job for GCC 6. r?gps
taskcluster/ci/toolchain/linux.yml
taskcluster/scripts/misc/build-gcc-6-linux.sh
--- a/taskcluster/ci/toolchain/linux.yml
+++ b/taskcluster/ci/toolchain/linux.yml
@@ -83,16 +83,34 @@ linux64-gcc-4.9:
     run:
         using: toolchain-script
         script: build-gcc-4.9-linux.sh
         resources:
             - 'build/unix/build-gcc/build-gcc.sh'
         toolchain-alias: linux64-gcc
         toolchain-artifact: public/build/gcc.tar.xz
 
+linux64-gcc-6:
+    description: "GCC 6 toolchain build"
+    treeherder:
+        kind: build
+        platform: toolchains/opt
+        symbol: TL(gcc6)
+        tier: 1
+    worker-type: aws-provisioner-v1/gecko-{level}-b-linux
+    worker:
+        docker-image: {in-tree: desktop-build}
+        max-run-time: 36000
+    run:
+        using: toolchain-script
+        script: build-gcc-6-linux.sh
+        resources:
+            - 'build/unix/build-gcc/build-gcc.sh'
+        toolchain-artifact: public/build/gcc.tar.xz
+
 linux64-binutils:
     description: "Binutils toolchain build"
     treeherder:
         kind: build
         platform: toolchains/opt
         symbol: TL(binutil)
         tier: 1
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
new file mode 100755
--- /dev/null
+++ b/taskcluster/scripts/misc/build-gcc-6-linux.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+set -e
+
+# This script is for building GCC 6 for Linux.
+
+WORKSPACE=$HOME/workspace
+HOME_DIR=$WORKSPACE/build
+UPLOAD_DIR=$HOME/artifacts
+
+root_dir=$HOME_DIR
+data_dir=$HOME_DIR/src/build/unix/build-gcc
+
+. $data_dir/build-gcc.sh
+
+gcc_version=6.4.0
+gcc_ext=xz
+binutils_version=2.25.1
+binutils_ext=bz2
+
+# GPG key used to sign GCC
+$GPG --import $data_dir/13975A70E63C361C73AE69EF6EEB81F8981C74C7.key
+# GPG key used to sign binutils
+$GPG --import $data_dir/EAF1C276A747E9ED86210CBAC3126D3B4AE55E93.key
+# GPG key used to sign GMP
+$GPG --import $data_dir/343C2FF0FBEE5EC2EDBEF399F3599FF828C67298.key
+# GPG key used to sign MPFR
+$GPG --import $data_dir/07F3DBBECC1A39605078094D980C197698C3739D.key
+# GPG key used to sign MPC
+$GPG --import $data_dir/AD17A21EF8AED8F1CC02DBD9F7D5C9BF765C61E3.key
+
+cat > $HOME_DIR/checksums <<EOF
+b5b14added7d78a8d1ca70b5cb75fef57ce2197264f4f5835326b0df22ac9f22  binutils-2.25.1.tar.bz2
+850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4  gcc-6.4.0.tar.xz
+752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160  gmp-5.1.3.tar.bz2
+8ceebbf4d9a81afa2b4449113cee4b7cb14a687d7a549a963deb5e2a41458b6b  isl-0.15.tar.bz2
+ae79f8d41d8a86456b68607e9ca398d00f8b7342d1d83bcf4428178ac45380c7  mpc-0.8.2.tar.gz
+ca498c1c7a74dd37a576f353312d1e68d490978de4395fa28f1cbd46a364e658  mpfr-3.1.5.tar.bz2
+EOF
+
+prepare
+build_binutils
+build_gcc
+
+# Put a tarball in the artifacts dir
+mkdir -p $UPLOAD_DIR
+cp $HOME_DIR/gcc.tar.* $UPLOAD_DIR