mirror of
https://github.com/servo/servo.git
synced 2025-06-17 12:54:28 +00:00
Auto merge of #29882 - mukilan:fix-windows-nightly, r=mrobinson
Fix windows nightly build failure PR #29865 changed the target directory for windows to be different from the source folder. However, the 'upload-nightly' command assumes the packages are stored in the default cargo target directory (./target), so the nightly jobs for windows were failing to find the packages. This PR fixes the 'upload-nightly' command to account for non-default target directories specified via CARGO_TARGET_DIR. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes do not require tests because they fix a bug in packaging logic.
This commit is contained in:
commit
db684cb9f1
1 changed files with 28 additions and 20 deletions
|
@ -41,7 +41,7 @@ from servo.command_base import (
|
||||||
)
|
)
|
||||||
from servo.build_commands import copy_dependencies, change_rpath_in_binary
|
from servo.build_commands import copy_dependencies, change_rpath_in_binary
|
||||||
from servo.gstreamer import macos_gst_root
|
from servo.gstreamer import macos_gst_root
|
||||||
from servo.util import delete
|
from servo.util import delete, get_target_dir
|
||||||
|
|
||||||
# Note: mako cannot be imported at the top level because it breaks mach bootstrap
|
# Note: mako cannot be imported at the top level because it breaks mach bootstrap
|
||||||
sys.path.append(path.join(path.dirname(__file__), "..", "..",
|
sys.path.append(path.join(path.dirname(__file__), "..", "..",
|
||||||
|
@ -49,42 +49,50 @@ sys.path.append(path.join(path.dirname(__file__), "..", "..",
|
||||||
|
|
||||||
PACKAGES = {
|
PACKAGES = {
|
||||||
'android': [
|
'android': [
|
||||||
'target/android/armv7-linux-androideabi/release/servoapp.apk',
|
'android/armv7-linux-androideabi/release/servoapp.apk',
|
||||||
'target/android/armv7-linux-androideabi/release/servoview.aar',
|
'android/armv7-linux-androideabi/release/servoview.aar',
|
||||||
],
|
],
|
||||||
'linux': [
|
'linux': [
|
||||||
'target/release/servo-tech-demo.tar.gz',
|
'release/servo-tech-demo.tar.gz',
|
||||||
],
|
],
|
||||||
'linux-layout2020': [
|
'linux-layout2020': [
|
||||||
'target/release/servo-tech-demo.tar.gz',
|
'release/servo-tech-demo.tar.gz',
|
||||||
],
|
],
|
||||||
'mac': [
|
'mac': [
|
||||||
'target/release/servo-tech-demo.dmg',
|
'release/servo-tech-demo.dmg',
|
||||||
],
|
],
|
||||||
'mac-layout2020': [
|
'mac-layout2020': [
|
||||||
'target/release/servo-tech-demo.dmg',
|
'release/servo-tech-demo.dmg',
|
||||||
],
|
],
|
||||||
'macbrew': [
|
'macbrew': [
|
||||||
'target/release/brew/servo.tar.gz',
|
'release/brew/servo.tar.gz',
|
||||||
],
|
],
|
||||||
'maven': [
|
'maven': [
|
||||||
'target/android/gradle/servoview/maven/org/mozilla/servoview/servoview-armv7/',
|
'android/gradle/servoview/maven/org/mozilla/servoview/servoview-armv7/',
|
||||||
'target/android/gradle/servoview/maven/org/mozilla/servoview/servoview-x86/',
|
'android/gradle/servoview/maven/org/mozilla/servoview/servoview-x86/',
|
||||||
],
|
],
|
||||||
'windows-msvc': [
|
'windows-msvc': [
|
||||||
r'target\release\msi\Servo.exe',
|
r'release\msi\Servo.exe',
|
||||||
r'target\release\msi\Servo.zip',
|
r'release\msi\Servo.zip',
|
||||||
],
|
],
|
||||||
'windows-msvc-layout2020': [
|
'windows-msvc-layout2020': [
|
||||||
r'target\release\msi\Servo.exe',
|
r'release\msi\Servo.exe',
|
||||||
r'target\release\msi\Servo.zip',
|
r'release\msi\Servo.zip',
|
||||||
],
|
|
||||||
'uwp': [
|
|
||||||
r'support\hololens\AppPackages\ServoApp\FirefoxReality.zip',
|
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def packages_for_platform(platform):
|
||||||
|
target_dir = get_target_dir()
|
||||||
|
|
||||||
|
if platform == "uwp":
|
||||||
|
yield r'support\hololens\AppPackages\ServoApp\FirefoxReality.zip'
|
||||||
|
return
|
||||||
|
|
||||||
|
for package in PACKAGES[platform]:
|
||||||
|
yield path.join(target_dir, package)
|
||||||
|
|
||||||
|
|
||||||
def listfiles(directory):
|
def listfiles(directory):
|
||||||
return [f for f in os.listdir(directory)
|
return [f for f in os.listdir(directory)
|
||||||
if path.isfile(path.join(directory, f))]
|
if path.isfile(path.join(directory, f))]
|
||||||
|
@ -652,7 +660,7 @@ class PackageCommands(CommandBase):
|
||||||
], stdout=DEVNULL, stderr=DEVNULL)
|
], stdout=DEVNULL, stderr=DEVNULL)
|
||||||
|
|
||||||
timestamp = datetime.utcnow().replace(microsecond=0)
|
timestamp = datetime.utcnow().replace(microsecond=0)
|
||||||
for package in PACKAGES[platform]:
|
for package in packages_for_platform(platform):
|
||||||
if path.isdir(package):
|
if path.isdir(package):
|
||||||
continue
|
continue
|
||||||
if not path.isfile(package):
|
if not path.isfile(package):
|
||||||
|
@ -677,11 +685,11 @@ class PackageCommands(CommandBase):
|
||||||
upload_to_github_release(platform, package, package_hash)
|
upload_to_github_release(platform, package, package_hash)
|
||||||
|
|
||||||
if platform == 'maven':
|
if platform == 'maven':
|
||||||
for package in PACKAGES[platform]:
|
for package in packages_for_platform(platform):
|
||||||
update_maven(package)
|
update_maven(package)
|
||||||
|
|
||||||
if platform == 'macbrew':
|
if platform == 'macbrew':
|
||||||
packages = PACKAGES[platform]
|
packages = list(packages_for_platform(platform))
|
||||||
assert(len(packages) == 1)
|
assert(len(packages) == 1)
|
||||||
update_brew(packages[0], timestamp)
|
update_brew(packages[0], timestamp)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue