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:
bors-servo 2023-06-16 10:53:17 +02:00 committed by GitHub
commit db684cb9f1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -41,7 +41,7 @@ from servo.command_base import (
)
from servo.build_commands import copy_dependencies, change_rpath_in_binary
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
sys.path.append(path.join(path.dirname(__file__), "..", "..",
@ -49,42 +49,50 @@ sys.path.append(path.join(path.dirname(__file__), "..", "..",
PACKAGES = {
'android': [
'target/android/armv7-linux-androideabi/release/servoapp.apk',
'target/android/armv7-linux-androideabi/release/servoview.aar',
'android/armv7-linux-androideabi/release/servoapp.apk',
'android/armv7-linux-androideabi/release/servoview.aar',
],
'linux': [
'target/release/servo-tech-demo.tar.gz',
'release/servo-tech-demo.tar.gz',
],
'linux-layout2020': [
'target/release/servo-tech-demo.tar.gz',
'release/servo-tech-demo.tar.gz',
],
'mac': [
'target/release/servo-tech-demo.dmg',
'release/servo-tech-demo.dmg',
],
'mac-layout2020': [
'target/release/servo-tech-demo.dmg',
'release/servo-tech-demo.dmg',
],
'macbrew': [
'target/release/brew/servo.tar.gz',
'release/brew/servo.tar.gz',
],
'maven': [
'target/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-armv7/',
'android/gradle/servoview/maven/org/mozilla/servoview/servoview-x86/',
],
'windows-msvc': [
r'target\release\msi\Servo.exe',
r'target\release\msi\Servo.zip',
r'release\msi\Servo.exe',
r'release\msi\Servo.zip',
],
'windows-msvc-layout2020': [
r'target\release\msi\Servo.exe',
r'target\release\msi\Servo.zip',
],
'uwp': [
r'support\hololens\AppPackages\ServoApp\FirefoxReality.zip',
r'release\msi\Servo.exe',
r'release\msi\Servo.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):
return [f for f in os.listdir(directory)
if path.isfile(path.join(directory, f))]
@ -652,7 +660,7 @@ class PackageCommands(CommandBase):
], stdout=DEVNULL, stderr=DEVNULL)
timestamp = datetime.utcnow().replace(microsecond=0)
for package in PACKAGES[platform]:
for package in packages_for_platform(platform):
if path.isdir(package):
continue
if not path.isfile(package):
@ -677,11 +685,11 @@ class PackageCommands(CommandBase):
upload_to_github_release(platform, package, package_hash)
if platform == 'maven':
for package in PACKAGES[platform]:
for package in packages_for_platform(platform):
update_maven(package)
if platform == 'macbrew':
packages = PACKAGES[platform]
packages = list(packages_for_platform(platform))
assert(len(packages) == 1)
update_brew(packages[0], timestamp)