mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Add a script to upload nightly packages to S3
The nightly package name includes the date, and so we use a glob to locate the package file without hard coding a value. However, globbing will not work with our Buildbot steps setup because we perform word splitting ourselves and pass an array to Buildbot, which will directly exec the array instead of passing it to the shell, meaning globbing does not occur. Instead, add a script to the servo repo where we can use globbing, and use `shopt -s failglob` to guard against bad globs.
This commit is contained in:
parent
305eda66dd
commit
9dc9643487
1 changed files with 47 additions and 0 deletions
47
etc/ci/upload_nightly.sh
Executable file
47
etc/ci/upload_nightly.sh
Executable file
|
@ -0,0 +1,47 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
shopt -s failglob
|
||||
|
||||
|
||||
usage() {
|
||||
printf "usage: ${0} android|linux|mac|windows\n"
|
||||
}
|
||||
|
||||
|
||||
upload() {
|
||||
s3cmd put "${2}" "s3://servo-developer-preview/nightly/${1}"
|
||||
}
|
||||
|
||||
|
||||
main() {
|
||||
if [[ "$#" != 1 ]]; then
|
||||
usage >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
local platform package
|
||||
platform="${1}"
|
||||
|
||||
if [[ "${platform}" == "android" ]]; then
|
||||
package=target/arm-linux-androideabi/release/*.apk
|
||||
elif [[ "${platform}" == "linux" ]]; then
|
||||
package=target/*.tar.gz
|
||||
elif [[ "${platform}" == "mac" ]]; then
|
||||
package=target/*.dmg
|
||||
elif [[ "${platform}" == "windows" ]]; then
|
||||
package=target/*.tar.gz
|
||||
else
|
||||
usage >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Lack of quotes on package allows glob expansion
|
||||
# Note that this is not robust in the case of embedded spaces
|
||||
# TODO(aneeshusa): make this glob robust using e.g. arrays or Python
|
||||
upload "${platform}" ${package}
|
||||
}
|
||||
|
||||
main "$@"
|
Loading…
Add table
Add a link
Reference in a new issue