Bug 1321847 - Add new linux jobs using the baseline of supported toolchains. r=mshal

For a long time, we've kind of forced the GCC version used to compile
Firefox on automation to the minimum version we do support, because
using a newer version would pretty much guarantee that builds with older
versions would break.

Ideally, the same would be true of rust, but it's not the case, and sure
enough, building with older versions breaks. The most recent example is
bug 1367734 making rustc 1.17.0 required but leaving configure checking
for version 1.15.1.

There are multiple reasons why we'd want to use newer versions of rust
to build shipping versions of Firefox other than language requirements,
but we should still ensure building with supported versions of rust
doesn't break silently.

Here we add a set of new linux jobs that build opt and debug build with
the baseline of supported toolchains. At the moment, that's GCC 4.9,
rust 1.15.1, and clang 3.9 (for bindgen). That's a copy of the current
toolchains used for normal linux jobs, with rustc downgraded to the
package used after bug 1338311.

Further down the line, we'll be able to bump the versions of GCC, rust
and/or clang for the shipped Firefox builds, while keeping those jobs on
GCC 4.9, rust 1.15.1 and clang 3.9, until we do intentionally want to
bump those versions (as well as the corresponding configure checks).

--HG--
rename : browser/config/tooltool-manifests/linux64/releng.manifest => browser/config/tooltool-manifests/linux64/base-toolchains.manifest
extra : rebase_source : 33f609f44c1e70cf970ec8af328e0408e01ec0d2
This commit is contained in:
Mike Hommey 2017-06-02 11:34:46 +09:00
parent 09748c0e45
commit b798ac70a0
3 changed files with 94 additions and 0 deletions

View File

@ -0,0 +1,43 @@
[
{
"version": "gcc 4.9.4 + PR64905",
"size": 101297752,
"digest": "42aa2e3fdd232b5e390472a788e7f7db71a1fee4221e260b6cb58c9a1d73e6cdd10afcbac137f7844290169cd6b561b424ecc92b159e9726b0ad5de3f478a8be",
"algorithm": "sha512",
"filename": "gcc.tar.xz",
"unpack": true
},
{
"size": 12072532,
"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
"algorithm": "sha512",
"filename": "gtk3.tar.xz",
"setup": "setup.sh",
"unpack": true
},
{
"version": "rustc 1.15.1 (021bd294c 2017-02-08) repack",
"size": 110077036,
"digest": "8b99d058cc081f6ca2a3cc88c3ca9c15232961d2539774dacee35e2258955ad8fc4cb0af3b903a3e3f8a264ddecb3baae9256502ffc178a2823779284ace2bd8",
"algorithm": "sha512",
"filename": "rustc.tar.xz",
"unpack": true
},
{
"version": "sccache rev d3aa1116844b50c03015266d2f48235509fa7deb",
"algorithm": "sha512",
"visibility": "public",
"filename": "sccache2.tar.xz",
"unpack": true,
"digest": "fde0128b9a4df74f268f9d45748534d0314db0467ae22e36101df4a5374c36bb8676514e8b70254fb2e6f2a2d1224ff7ce498305223035d5f1e7e306fda2f5d5",
"size": 2179220
},
{
"version": "clang + llvm 3.9.0, built from SVN r290136",
"size": 166261192,
"digest": "52f3fc23f0f5c98050f8b0ac7c92a6752d067582a16f712a5a58074be98975d594f9e36249fc2be7f1cc2ca6d509c663faaf2bea66f949243cc1f41651638ba6",
"algorithm": "sha512",
"filename": "clang.tar.xz",
"unpack": true
}
]

View File

@ -95,6 +95,55 @@ linux64-devedition-nightly/opt:
custom-build-variant-cfg: devedition
run-on-projects: [ 'mozilla-beta', ]
linux64-base-toolchains/opt:
description: "Linux64 base toolchains Opt"
index:
product: firefox
job-name: linux64-base-toolchains-opt
treeherder:
platform: linux64/opt
symbol: tc(Bb)
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 36000
env:
TOOLTOOL_MANIFEST: browser/config/tooltool-manifests/linux64/base-toolchains.manifest
run:
using: mozharness
actions: [get-secrets build generate-build-stats check-test update]
config:
- builds/releng_base_linux_64_builds.py
- balrog/production.py
script: "mozharness/scripts/fx_desktop_build.py"
secrets: true
tooltool-downloads: public
need-xvfb: true
linux64-base-toolchains/debug:
description: "Linux64 base toolchains Debug"
index:
product: firefox
job-name: linux64-base-toolchains-debug
treeherder:
platform: linux64/debug
symbol: tc(Bb)
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 36000
env:
TOOLTOOL_MANIFEST: browser/config/tooltool-manifests/linux64/base-toolchains.manifest
run:
using: mozharness
actions: [get-secrets build generate-build-stats check-test update]
config:
- builds/releng_base_linux_64_builds.py
- balrog/production.py
script: "mozharness/scripts/fx_desktop_build.py"
secrets: true
custom-build-variant-cfg: debug
tooltool-downloads: public
need-xvfb: true
linux/opt:
description: "Linux32 Opt"
index:

View File

@ -33,6 +33,8 @@ JOB_NAME_WHITELIST = set([
'linux64-artifact-opt',
'linux64-asan-debug',
'linux64-asan-opt',
'linux64-base-toolchains-debug',
'linux64-base-toolchains-opt',
'linux64-fuzzing-asan-opt',
'linux64-ccov-opt',
'linux64-clang-tidy',