Bug 1643099 - [geckodriver] Build geckodriver as static executable for Linux. r=froydnj

Differential Revision: https://phabricator.services.mozilla.com/D81605
This commit is contained in:
Henrik Skupin 2020-06-30 13:19:41 +00:00
Родитель c1fe2ae51c
Коммит 6f921302c7
4 изменённых файлов: 27 добавлений и 7 удалений

Просмотреть файл

@ -24,29 +24,31 @@ job-defaults:
# Changes to 'third_party/rust' should be captured by
# 'testing/geckodriver/Cargo.toml'.
# For Linux platforms target "*-musl" so that the binary will be statically linked.
linux32-geckodriver:
treeherder:
symbol: TL32(gd)
platform: linux32/opt
run:
arguments: ['i686-unknown-linux-gnu']
arguments: ['i686-unknown-linux-musl']
attributes:
build_platform: linux-geckodriver
fetches:
toolchain:
- linux64-rust
- linux64-rust-static
linux64-geckodriver:
treeherder:
symbol: TL(gd)
platform: linux64/opt
run:
arguments: ['x86_64-unknown-linux-gnu']
arguments: ['x86_64-unknown-linux-musl']
attributes:
build_platform: linux64-geckodriver
fetches:
toolchain:
- linux64-rust
- linux64-rust-static
macosx64-geckodriver:
treeherder:

Просмотреть файл

@ -79,6 +79,21 @@ linux64-rust-cross-1.43:
]
toolchain-alias: linux64-rust-cross
linux64-rust-static-1.43:
description: "rust repack with static linking support"
treeherder:
symbol: TL(rust-static)
run:
arguments: [
'--channel', '1.43.0',
'--host', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-gnu',
'--target', 'x86_64-unknown-linux-musl',
'--target', 'i686-unknown-linux-gnu',
'--target', 'i686-unknown-linux-musl',
]
toolchain-alias: linux64-rust-static
linux64-rust-macos-1.41:
description: "rust repack with macos-cross support"
treeherder:

Просмотреть файл

@ -43,7 +43,7 @@ x86_64-apple-darwin)
;;
esac
export PATH="$(cd $MOZ_FETCHES_DIR && pwd)/rustc/bin:$PATH"
export PATH="$MOZ_FETCHES_DIR/rustc/bin:$PATH"
cd $GECKO_PATH/testing/geckodriver

Просмотреть файл

@ -224,10 +224,11 @@ def package(manifest, pkg, target):
def fetch_package(manifest, pkg, host):
version, info = package(manifest, pkg, host)
log('%s %s\n %s\n %s' % (pkg, version, info['url'], info['hash']))
if not info['available']:
log('%s marked unavailable for %s' % (pkg, host))
raise AssertionError
log('%s %s\n %s\n %s' % (pkg, version, info['url'], info['hash']))
sha = fetch(info['url'])
if sha != info['hash']:
log('Checksum mismatch: package resource is different from manifest'
@ -240,7 +241,9 @@ def fetch_std(manifest, targets):
stds = []
for target in targets:
stds.append(fetch_package(manifest, 'rust-std', target))
stds.append(fetch_package(manifest, 'rust-analysis', target))
# not available for i686
if target != "i686-unknown-linux-musl":
stds.append(fetch_package(manifest, 'rust-analysis', target))
return stds