mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 22:01:30 +00:00
Bug 1330608 Add the MinGW32 toolchain build to Taskcluster r=glandium
MozReview-Commit-ID: JHS6y8kqr4T --HG-- extra : rebase_source : e04692af64312db7028d4123075e02d8b9127ef2
This commit is contained in:
parent
77ff4db6d7
commit
095b4bfda8
@ -0,0 +1,54 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
GPYAnArpX32fDdu/xhuqjqHrNkwyO/Yo
|
||||
=TzkT
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
@ -5,29 +5,7 @@ set -x
|
||||
|
||||
make_flags='-j12'
|
||||
|
||||
if [ -z "$root_dir" -o ! -d "$root_dir" ]; then
|
||||
root_dir=$(mktemp -d)
|
||||
fi
|
||||
|
||||
if test -z $TMPDIR; then
|
||||
TMPDIR=/tmp/
|
||||
fi
|
||||
|
||||
mkdir $root_dir/gpg
|
||||
GPG="gpg --homedir $root_dir/gpg"
|
||||
|
||||
> $root_dir/downloads
|
||||
|
||||
download() {
|
||||
wget -c -P $TMPDIR $1/$2
|
||||
(cd $TMPDIR; sha256sum $2) >> $root_dir/downloads
|
||||
}
|
||||
|
||||
download_and_check() {
|
||||
download $1 ${2%.*}
|
||||
wget -c -P $TMPDIR $1/$2
|
||||
$GPG --verify $TMPDIR/$2 $TMPDIR/${2%.*}
|
||||
}
|
||||
. $data_dir/download-tools.sh
|
||||
|
||||
prepare() {
|
||||
pushd $root_dir
|
||||
@ -95,11 +73,17 @@ apply_patch() {
|
||||
}
|
||||
|
||||
build_binutils() {
|
||||
# if binutils_configure_flags is not set at all, give it the default value
|
||||
if [ -z "${binutils_configure_flags+xxx}" ];
|
||||
then
|
||||
# gold is disabled because we don't use it on automation, and also we ran into
|
||||
# some issues with it using this script in build-clang.py.
|
||||
binutils_configure_flags="--disable-gold --enable-plugins --disable-nls"
|
||||
fi
|
||||
|
||||
mkdir $root_dir/binutils-objdir
|
||||
pushd $root_dir/binutils-objdir
|
||||
# gold is disabled because we don't use it on automation, and also we ran into
|
||||
# some issues with it using this script in build-clang.py.
|
||||
../binutils-$binutils_version/configure --prefix /tools/gcc/ --disable-gold --enable-plugins --disable-nls
|
||||
../binutils-$binutils_version/configure --prefix /tools/gcc/ $binutils_configure_flags
|
||||
make $make_flags
|
||||
make install $make_flags DESTDIR=$root_dir
|
||||
popd
|
||||
@ -116,3 +100,59 @@ build_gcc() {
|
||||
tar caf $root_dir/gcc.tar.xz gcc/
|
||||
popd
|
||||
}
|
||||
|
||||
build_gcc_and_mingw() {
|
||||
export install_dir=$root_dir/tools/gcc/
|
||||
mkdir -p $install_dir
|
||||
export PATH=$PATH:$install_dir/bin/
|
||||
|
||||
cd $root_dir
|
||||
|
||||
git clone -n git://git.code.sf.net/p/mingw-w64/mingw-w64
|
||||
pushd mingw-w64
|
||||
git checkout $mingw_version # Asserts the integrity of the checkout (Right?)
|
||||
popd
|
||||
|
||||
mkdir gcc-objdir
|
||||
pushd gcc-objdir
|
||||
../gcc-$gcc_version/configure --prefix=$install_dir --target=i686-w64-mingw32 --with-gnu-ld --with-gnu-as --disable-multilib --enable-threads=posix
|
||||
make $make_flags all-gcc
|
||||
make $make_flags install-gcc
|
||||
popd
|
||||
|
||||
mkdir mingw-w64-headers32
|
||||
pushd mingw-w64-headers32
|
||||
../mingw-w64/mingw-w64-headers/configure --host=i686-w64-mingw32 --prefix=$install_dir/i686-w64-mingw32/ --enable-sdk=all --enable-secure-api --enable-idl
|
||||
make $make_flags install
|
||||
popd
|
||||
|
||||
mkdir mingw-w64-crt32
|
||||
pushd mingw-w64-crt32
|
||||
../mingw-w64/mingw-w64-crt/configure --host=i686-w64-mingw32 --prefix=$install_dir/i686-w64-mingw32/
|
||||
make
|
||||
make install
|
||||
popd
|
||||
|
||||
mkdir mingw-w64-pthread
|
||||
pushd mingw-w64-pthread
|
||||
../mingw-w64/mingw-w64-libraries/winpthreads/configure --host=i686-w64-mingw32 --prefix=$install_dir/i686-w64-mingw32/
|
||||
make
|
||||
make install
|
||||
popd
|
||||
|
||||
pushd gcc-objdir
|
||||
make
|
||||
make install
|
||||
popd
|
||||
|
||||
mkdir widl32
|
||||
pushd widl32
|
||||
../mingw-w64/mingw-w64-tools/widl/configure --prefix=$install_dir --target=i686-w64-mingw32
|
||||
make
|
||||
make install
|
||||
popd
|
||||
|
||||
pushd $root_dir/tools
|
||||
tar caf $root_dir/mingw32.tar.xz gcc/
|
||||
popd
|
||||
}
|
||||
|
28
build/unix/build-gcc/download-tools.sh
Executable file
28
build/unix/build-gcc/download-tools.sh
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
if [ -z "$root_dir" -o ! -d "$root_dir" ]; then
|
||||
root_dir=$(mktemp -d)
|
||||
fi
|
||||
|
||||
if test -z $TMPDIR; then
|
||||
TMPDIR=/tmp/
|
||||
fi
|
||||
|
||||
mkdir $root_dir/gpg
|
||||
GPG="gpg --homedir $root_dir/gpg"
|
||||
|
||||
> $root_dir/downloads
|
||||
|
||||
download() {
|
||||
wget -c -P $TMPDIR $1/$2
|
||||
(cd $TMPDIR; sha256sum $2) >> $root_dir/downloads
|
||||
}
|
||||
|
||||
download_and_check() {
|
||||
download $1 ${2%.*}
|
||||
wget -c -P $TMPDIR $1/$2
|
||||
$GPG --verify $TMPDIR/$2 $TMPDIR/${2%.*}
|
||||
}
|
86
taskcluster/ci/toolchain/linux.yml
Normal file → Executable file
86
taskcluster/ci/toolchain/linux.yml
Normal file → Executable file
@ -228,3 +228,89 @@ linux64-gn:
|
||||
toolchain-artifact: public/build/gn.tar.xz
|
||||
toolchains:
|
||||
- linux64-gcc-4.9
|
||||
|
||||
linux64-upx:
|
||||
description: "UPX build for MinGW32 Cross Compile"
|
||||
treeherder:
|
||||
kind: build
|
||||
platform: toolchains/opt
|
||||
symbol: TMW(upx)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
docker-image: {in-tree: desktop-build}
|
||||
max-run-time: 3600
|
||||
run:
|
||||
using: toolchain-script
|
||||
script: build-upx.sh
|
||||
toolchain-artifact: public/build/upx.tar.xz
|
||||
|
||||
linux64-wine:
|
||||
description: "Wine build for MinGW32 Cross Compile"
|
||||
treeherder:
|
||||
kind: build
|
||||
platform: toolchains/opt
|
||||
symbol: TMW(wine)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
docker-image: {in-tree: desktop-build}
|
||||
max-run-time: 10800
|
||||
run:
|
||||
using: toolchain-script
|
||||
script: build-wine.sh
|
||||
toolchain-artifact: public/build/wine.tar.xz
|
||||
|
||||
linux64-mingw32-gcc:
|
||||
description: "GCC toolchain build for MinGW32 Cross Compile"
|
||||
treeherder:
|
||||
kind: build
|
||||
platform: toolchains/opt
|
||||
symbol: TMW(mingw32-gcc)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
docker-image: {in-tree: desktop-build}
|
||||
max-run-time: 10800
|
||||
run:
|
||||
using: toolchain-script
|
||||
script: build-gcc-mingw32.sh
|
||||
resources:
|
||||
- 'build/unix/build-gcc/build-gcc.sh'
|
||||
toolchain-artifact: public/build/mingw32.tar.xz
|
||||
|
||||
linux64-mingw32-nsis:
|
||||
description: "NSIS build for MinGW32 Cross Compile"
|
||||
treeherder:
|
||||
kind: build
|
||||
platform: toolchains/opt
|
||||
symbol: TMW(mingw32-nsis)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
docker-image: {in-tree: desktop-build}
|
||||
max-run-time: 3600
|
||||
run:
|
||||
using: toolchain-script
|
||||
script: build-mingw32-nsis.sh
|
||||
toolchain-artifact: public/build/nsis.tar.xz
|
||||
toolchains:
|
||||
- linux64-mingw32-gcc
|
||||
|
||||
linux64-mingw32-fxc2:
|
||||
description: "fxc2.exe build for MinGW32 Cross Compile"
|
||||
treeherder:
|
||||
kind: build
|
||||
platform: toolchains/opt
|
||||
symbol: TMW(mingw32-fxc2)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
docker-image: {in-tree: desktop-build}
|
||||
max-run-time: 1800
|
||||
run:
|
||||
using: toolchain-script
|
||||
script: build-mingw32-fxc2.sh
|
||||
toolchain-artifact: public/build/fxc2.tar.xz
|
||||
toolchains:
|
||||
- linux64-mingw32-gcc
|
3
taskcluster/docker/desktop-build/Dockerfile
Normal file → Executable file
3
taskcluster/docker/desktop-build/Dockerfile
Normal file → Executable file
@ -68,6 +68,9 @@ ADD buildprops.json /builds/worker/
|
||||
# Install bison to build binutils.
|
||||
RUN yum install -y bison screen
|
||||
|
||||
# For the mingw toolchain & job (scons: nsis, flex: wine, p7zip: ff installer)
|
||||
RUN yum install -y scons flex p7zip
|
||||
|
||||
# Install libtool.
|
||||
RUN yum install -y libtool
|
||||
|
||||
|
50
taskcluster/scripts/misc/build-gcc-mingw32.sh
Executable file
50
taskcluster/scripts/misc/build-gcc-mingw32.sh
Executable file
@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# This script is for building a MinGW GCC (and headers) to be used on Linux to compile for Windows.
|
||||
|
||||
WORKSPACE=$HOME/workspace
|
||||
HOME_DIR=$WORKSPACE/build
|
||||
UPLOAD_DIR=$HOME/artifacts
|
||||
|
||||
# Do not define root_dir so we build everything to a tmpdir
|
||||
#root_dir=$HOME_DIR
|
||||
data_dir=$HOME_DIR/src/build/unix/build-gcc
|
||||
|
||||
. $data_dir/build-gcc.sh
|
||||
|
||||
gcc_version=5.4.0
|
||||
gcc_ext=bz2
|
||||
binutils_version=2.27
|
||||
binutils_ext=bz2
|
||||
binutils_configure_flags="--target=i686-w64-mingw32"
|
||||
mingw_version=da41a54ba54c6e37322f111a5b76099b9cd39051
|
||||
|
||||
# GPG keys used to sign GCC (collected from 5.1.0, 5.4.0, 6.4.0)
|
||||
$GPG --import $data_dir/33C235A34C46AA3FFB293709A328C3A2C3C45C06.key
|
||||
$GPG --import $data_dir/7F74F97C103468EE5D750B583AB00996FC26A641.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 > $root_dir/checksums <<EOF
|
||||
369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88 binutils-2.27.tar.bz2
|
||||
608df76dec2d34de6558249d8af4cbee21eceddbcb580d666f7a5a583ca3303a gcc-5.4.0.tar.bz2
|
||||
752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160 gmp-5.1.3.tar.bz2
|
||||
7e3c02ff52f8540f6a85534f54158968417fd676001651c8289c705bd0228f36 isl-0.14.tar.bz2
|
||||
ae79f8d41d8a86456b68607e9ca398d00f8b7342d1d83bcf4428178ac45380c7 mpc-0.8.2.tar.gz
|
||||
ca498c1c7a74dd37a576f353312d1e68d490978de4395fa28f1cbd46a364e658 mpfr-3.1.5.tar.bz2
|
||||
EOF
|
||||
|
||||
prepare
|
||||
build_binutils
|
||||
build_gcc_and_mingw
|
||||
|
||||
# Put a tarball in the artifacts dir
|
||||
mkdir -p $UPLOAD_DIR
|
||||
cp $root_dir/mingw32.tar.* $UPLOAD_DIR
|
35
taskcluster/scripts/misc/build-mingw32-fxc2.sh
Executable file
35
taskcluster/scripts/misc/build-mingw32-fxc2.sh
Executable file
@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
set -x -e -v
|
||||
|
||||
WORKSPACE=$HOME/workspace
|
||||
HOME_DIR=$WORKSPACE/build
|
||||
INSTALL_DIR=$WORKSPACE/fxc2
|
||||
TOOLTOOL_DIR=$WORKSPACE/build/src
|
||||
UPLOAD_DIR=$HOME/artifacts
|
||||
|
||||
mkdir -p $INSTALL_DIR/bin
|
||||
|
||||
cd $TOOLTOOL_DIR
|
||||
. taskcluster/scripts/misc/tooltool-download.sh
|
||||
export PATH="$TOOLTOOL_DIR/gcc/bin:$TOOLTOOL_DIR/gcc/i686-w64-mingw32/bin:$PATH"
|
||||
|
||||
cd $WORKSPACE
|
||||
|
||||
# --------------
|
||||
|
||||
git clone -n https://github.com/mozilla/fxc2.git fxc2-clone
|
||||
cd fxc2-clone
|
||||
git checkout 82527b81104e5e21390d3ddcd328700c67ce73d4 # Asserts integrity of the clone (right?)
|
||||
make
|
||||
|
||||
cp fxc2.exe $INSTALL_DIR/bin/
|
||||
cp d3dcompiler_47.dll $INSTALL_DIR/bin/
|
||||
cp $TOOLTOOL_DIR/gcc/i686-w64-mingw32/bin/libwinpthread-1.dll $INSTALL_DIR/bin/
|
||||
|
||||
# --------------
|
||||
|
||||
cd $WORKSPACE
|
||||
tar caf fxc2.tar.xz fxc2
|
||||
|
||||
mkdir -p $UPLOAD_DIR
|
||||
cp fxc2.tar.* $UPLOAD_DIR
|
106
taskcluster/scripts/misc/build-mingw32-nsis.sh
Executable file
106
taskcluster/scripts/misc/build-mingw32-nsis.sh
Executable file
@ -0,0 +1,106 @@
|
||||
#!/bin/bash
|
||||
set -x -e -v
|
||||
|
||||
# We set the INSTALL_DIR to match the directory that it will run in exactly,
|
||||
# otherwise we get an NSIS error of the form:
|
||||
# checking for NSIS version...
|
||||
# DEBUG: Executing: `/home/worker/workspace/build/src/gcc/
|
||||
# DEBUG: The command returned non-zero exit status 1.
|
||||
# DEBUG: Its error output was:
|
||||
# DEBUG: | Error: opening stub "/home/worker/workspace/gcc/
|
||||
# DEBUG: | Error initalizing CEXEBuild: error setting
|
||||
# ERROR: Failed to get nsis version.
|
||||
|
||||
WORKSPACE=$HOME/workspace
|
||||
HOME_DIR=$WORKSPACE/build
|
||||
INSTALL_DIR=$WORKSPACE/build/src/gcc
|
||||
TOOLTOOL_DIR=$WORKSPACE/build/src
|
||||
UPLOAD_DIR=$HOME/artifacts
|
||||
|
||||
mkdir -p $INSTALL_DIR
|
||||
|
||||
root_dir=$HOME_DIR
|
||||
data_dir=$HOME_DIR/src/build/unix/build-gcc
|
||||
|
||||
. $data_dir/download-tools.sh
|
||||
|
||||
cd $TOOLTOOL_DIR
|
||||
. taskcluster/scripts/misc/tooltool-download.sh
|
||||
# After tooltool runs, we move the stuff we just downloaded.
|
||||
# As explained above, we have to build nsis to the directory it
|
||||
# will eventually be run from, which is the same place we just
|
||||
# installed our compiler. But at the end of the script we want
|
||||
# to package up what we just built. If we don't move the compiler,
|
||||
# we will package up the compiler we downloaded along with the
|
||||
# stuff we just built.
|
||||
mv gcc gcc-mingw
|
||||
export PATH="$TOOLTOOL_DIR/gcc-mingw/bin:$TOOLTOOL_DIR/gcc-mingw/i686-w64-mingw32/bin:$PATH"
|
||||
mkdir -p $INSTALL_DIR
|
||||
|
||||
cd $WORKSPACE
|
||||
|
||||
$GPG --import <<EOF
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
pMCmSQ==
|
||||
=5shY
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
EOF
|
||||
|
||||
# --------------
|
||||
|
||||
download_and_check http://zlib.net/ zlib-1.2.11.tar.gz.asc
|
||||
tar xaf $TMPDIR/zlib-1.2.11.tar.gz
|
||||
cd zlib-1.2.11
|
||||
make -f win32/Makefile.gcc PREFIX=i686-w64-mingw32-
|
||||
|
||||
cd ..
|
||||
wget https://downloads.sourceforge.net/project/nsis/NSIS%203/3.01/nsis-3.01-src.tar.bz2
|
||||
echo "559703cc25f78697be1784a38d1d9a19c97d27a200dc9257d1483c028c6be9242cbcd10391ba618f88561c2ba57fdbd8b3607bea47ed8c3ad7509a6ae4075138 nsis-3.01-src.tar.bz2" | sha512sum -c -
|
||||
bunzip2 nsis-3.01-src.tar.bz2
|
||||
tar xaf nsis-3.01-src.tar
|
||||
cd nsis-3.01-src
|
||||
# I don't know how to make the version work with the environment variables/config flags the way the author appears to
|
||||
sed -i "s/'VERSION', 'Version of NSIS', cvs_version/'VERSION', 'Version of NSIS', '3.01'/" SConstruct
|
||||
scons XGCC_W32_PREFIX=i686-w64-mingw32- ZLIB_W32=../zlib-1.2.11 SKIPUTILS="NSIS Menu" PREFIX=$INSTALL_DIR/ install
|
||||
|
||||
# --------------
|
||||
|
||||
cd $WORKSPACE/build/src
|
||||
tar caf nsis.tar.xz gcc
|
||||
|
||||
mkdir -p $UPLOAD_DIR
|
||||
cp nsis.tar.* $UPLOAD_DIR
|
40
taskcluster/scripts/misc/build-upx.sh
Executable file
40
taskcluster/scripts/misc/build-upx.sh
Executable file
@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
set -x -e -v
|
||||
|
||||
WORKSPACE=$HOME/workspace
|
||||
HOME_DIR=$WORKSPACE/build
|
||||
INSTALL_DIR=$WORKSPACE/upx
|
||||
UPLOAD_DIR=$HOME/artifacts
|
||||
|
||||
mkdir -p $INSTALL_DIR/bin
|
||||
|
||||
cd $WORKSPACE
|
||||
|
||||
# --------------
|
||||
|
||||
wget http://www.oberhumer.com/opensource/ucl/download/ucl-1.03.tar.gz
|
||||
echo "5847003d136fbbca1334dd5de10554c76c755f7c ucl-1.03.tar.gz" | sha1sum -c -
|
||||
tar xf ucl-1.03.tar.gz
|
||||
cd ucl-1.03
|
||||
./configure
|
||||
make
|
||||
|
||||
# --------------
|
||||
|
||||
cd ..
|
||||
git clone -n https://github.com/upx/upx.git upx-clone
|
||||
cd upx-clone
|
||||
git checkout d31947e1f016e87f24f88b944439bbee892f0429 # Asserts integrity of the clone (right?)
|
||||
git submodule update --init --recursive
|
||||
export UPX_UCLDIR=$WORKSPACE/ucl-1.03
|
||||
cd src
|
||||
make
|
||||
cp upx.out $INSTALL_DIR/bin/upx
|
||||
|
||||
# --------------
|
||||
|
||||
cd $WORKSPACE
|
||||
tar caf upx.tar.xz upx
|
||||
|
||||
mkdir -p $UPLOAD_DIR
|
||||
cp upx.tar.* $UPLOAD_DIR
|
87
taskcluster/scripts/misc/build-wine.sh
Executable file
87
taskcluster/scripts/misc/build-wine.sh
Executable file
@ -0,0 +1,87 @@
|
||||
#!/bin/bash
|
||||
set -x -e -v
|
||||
|
||||
WORKSPACE=$HOME/workspace
|
||||
HOME_DIR=$WORKSPACE/build
|
||||
INSTALL_DIR=$WORKSPACE/wine
|
||||
UPLOAD_DIR=$HOME/artifacts
|
||||
|
||||
mkdir -p $INSTALL_DIR
|
||||
|
||||
root_dir=$HOME_DIR
|
||||
data_dir=$HOME_DIR/src/build/unix/build-gcc
|
||||
|
||||
. $data_dir/download-tools.sh
|
||||
|
||||
cd $WORKSPACE
|
||||
|
||||
# --------------
|
||||
$GPG --import <<EOF
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
=6vF7
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
EOF
|
||||
|
||||
download_and_check http://dl.winehq.org/wine/source/2.0/ wine-2.0.1.tar.xz.sign
|
||||
tar xaf $TMPDIR/wine-2.0.1.tar.xz
|
||||
cd wine-2.0.1
|
||||
./configure --prefix=$INSTALL_DIR/
|
||||
make
|
||||
make install
|
||||
|
||||
# --------------
|
||||
|
||||
cd $WORKSPACE/
|
||||
tar caf wine.tar.xz wine
|
||||
|
||||
mkdir -p $UPLOAD_DIR
|
||||
cp wine.tar.* $UPLOAD_DIR
|
1
taskcluster/taskgraph/transforms/task.py
Normal file → Executable file
1
taskcluster/taskgraph/transforms/task.py
Normal file → Executable file
@ -534,6 +534,7 @@ GROUP_NAMES = {
|
||||
'I': 'Docker Image Builds',
|
||||
'TL': 'Toolchain builds for Linux 64-bits',
|
||||
'TM': 'Toolchain builds for OSX',
|
||||
'TMW': 'Toolchain builds for Windows MinGW',
|
||||
'TW32': 'Toolchain builds for Windows 32-bits',
|
||||
'TW64': 'Toolchain builds for Windows 64-bits',
|
||||
'SM-tc': 'Spidermonkey builds',
|
||||
|
Loading…
Reference in New Issue
Block a user