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.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)