Skip to content

Commit

Permalink
Support uploading maven artifacts.
Browse files Browse the repository at this point in the history
  • Loading branch information
jdm committed Oct 8, 2018
1 parent caa4d19 commit 991f1fb
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
5 changes: 4 additions & 1 deletion etc/ci/buildbot_steps.yml
Expand Up @@ -221,8 +221,11 @@ android-nightly:
- ./etc/ci/clean_build_artifacts.sh
- ./etc/ci/bootstrap-android-and-accept-licences.sh
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach build --android --release
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach package --android --release
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach package --android --release --maven
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach build --target=i686-linux-android --release
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach package --target=i686-linux-android --release --maven
- ./mach upload-nightly android
- ./mach upload-nightly maven
- ./etc/ci/clean_build_artifacts.sh

arm32:
Expand Down
31 changes: 31 additions & 0 deletions python/servo/package_commands.py
Expand Up @@ -55,6 +55,10 @@
'macbrew': [
'target/release/brew/servo.tar.gz',
],
'maven': [
'target/gradle/servoview/maven/org/mozilla/servoview/servoview-armv7/',
'target/gradle/servoview/maven/org/mozilla/servoview/servoview-x86/',
],
'windows-msvc': [
r'target\release\msi\Servo.exe',
r'target\release\msi\Servo.zip',
Expand Down Expand Up @@ -534,6 +538,27 @@ def upload_to_s3(platform, package, timestamp):
}
s3.copy(copy_source, BUCKET, latest_upload_key)

def update_maven(directory):
s3 = boto3.client('s3')
BUCKET = 'servo-builds'

nightly_dir = 'nightly/maven'
dest_key_base = directory.replace("target/gradle/servoview/maven", nightly_dir)
if dest_key_base[-1] == '/':
dest_key_base = dest_key_base[:-1]

# Given a directory with subdirectories like 0.0.1.20181005.caa4d190af...
for artifact_dir in os.listdir(directory):
base_dir = os.path.join(directory, artifact_dir)
if not os.path.isdir(base_dir):
continue
package_upload_base = "{}/{}".format(dest_key_base, artifact_dir[:-1])
# Upload all of the files inside the subdirectory.
for f in os.listdir(base_dir):
file_upload_key = "{}/{}".format(package_upload_base, f)
print("Uploading %s to %s" % (os.path.join(base_dir, f), file_upload_key))
s3.upload_file(os.path.join(base_dir, f), BUCKET, file_upload_key)

def update_brew(package, timestamp):
print("Updating brew formula")

Expand Down Expand Up @@ -587,6 +612,8 @@ def call_git(cmd, **kwargs):

timestamp = datetime.utcnow().replace(microsecond=0)
for package in PACKAGES[platform]:
if path.isdir(package):
continue
if not path.isfile(package):
print("Could not find package for {} at {}".format(
platform,
Expand All @@ -595,6 +622,10 @@ def call_git(cmd, **kwargs):
return 1
upload_to_s3(platform, package, timestamp)

if platform == 'maven':
for package in PACKAGES[platform]:
update_maven(package)

if platform == 'macbrew':
packages = PACKAGES[platform]
assert(len(packages) == 1)
Expand Down

0 comments on commit 991f1fb

Please sign in to comment.