@@ -4,6 +4,8 @@ __dir__="$(cd "$(dirname "$0")" && pwd)"
4
4
5
5
# shellcheck source=scripts/configuration.sh
6
6
source " $__dir__ /configuration.sh"
7
+ # shellcheck source=scripts/github.sh
8
+ source " $__dir__ /github.sh"
7
9
# shellcheck source=scripts/aws.sh
8
10
source " $__dir__ /aws.sh"
9
11
# shellcheck source=scripts/io.sh
@@ -59,64 +61,135 @@ function rbx_upload_files {
59
61
}
60
62
61
63
# Build and upload the release tarball to S3.
62
- if [[ $TRAVIS_OS_NAME == osx ]]; then
63
- echo " Deploying release tarball $( rbx_release_name) ..."
64
+ function rbx_deploy_release_tarball {
65
+ if [[ $1 == osx ]]; then
66
+ echo " Deploying release tarball $( rbx_release_name) ..."
64
67
65
- " $__dir__ /release.sh" || fail " unable to build release tarball"
68
+ " $__dir__ /release.sh" || fail " unable to build release tarball"
66
69
67
- rbx_upload_files " $( rbx_release_bucket) " " $( rbx_release_name) " " $( rbx_release_name) "
68
- fi
70
+ rbx_upload_files " $( rbx_release_bucket) " " $( rbx_release_name) " " $( rbx_release_name) "
71
+ fi
72
+ }
69
73
70
74
# Build and upload a Homebrew binary to S3.
71
- if [[ $TRAVIS_OS_NAME == osx ]]; then
72
- echo " Deploying Homebrew binary $( rbx_release_name) ..."
75
+ function rbx_deploy_homebrew_binary {
76
+ if [[ $1 == osx ]]; then
77
+ echo " Deploying Homebrew binary $( rbx_release_name) ..."
73
78
74
- " $__dir__ /package.sh" homebrew || fail " unable to build Homebrew binary"
79
+ " $__dir__ /package.sh" homebrew || fail " unable to build Homebrew binary"
75
80
76
- rbx_upload_files " $( rbx_binary_bucket) " " $( rbx_release_name) " \
77
- " $( rbx_release_name) " " /homebrew/"
78
- fi
81
+ rbx_upload_files " $( rbx_binary_bucket) " " $( rbx_release_name) " \
82
+ " $( rbx_release_name) " " /homebrew/"
83
+ fi
84
+ }
79
85
80
86
# Build and upload a binary to S3.
81
- echo " Deploying Travis binary $( rbx_release_name) for ${TRAVIS_OS_NAME} ..."
87
+ function rbx_deploy_travis_binary {
88
+ local os_name vendor_llvm
82
89
83
- # TODO: Remove this hack when LLVM 3.6/7 support lands.
84
- vendor_llvm=" ./vendor/llvm/Release/bin/llvm-config"
85
- if [[ -f " $vendor_llvm " ]]; then
86
- export RBX_BINARY_CONFIG=" --llvm-config=$vendor_llvm "
87
- fi
90
+ os_name=$1
91
+ echo " Deploying Travis binary $( rbx_release_name) for $os_name ..."
88
92
89
- " $__dir__ /package.sh" binary || fail " unable to build binary"
90
-
91
- declare -a paths os_releases versions
92
-
93
- if [[ $TRAVIS_OS_NAME == linux ]]; then
94
- os_releases=(" 12.04" " 14.04" " 15.10" )
95
- for (( i= 0 ; i < ${# os_releases[@]} ; i++ )) ; do
96
- paths[i]=" /ubuntu/${os_releases[i]} /x86_64/"
93
+ # TODO: Remove this hack when LLVM 3.6/7 support lands.
94
+ if [[ $os_name == linux ]]; then
95
+ vendor_llvm=" ./vendor/llvm/Release/bin/llvm-config"
96
+ if [[ -f " $vendor_llvm " ]]; then
97
+ export RBX_BINARY_CONFIG=" --llvm-config=$vendor_llvm "
98
+ fi
99
+ fi
100
+
101
+ " $__dir__ /package.sh" binary || fail " unable to build binary"
102
+
103
+ declare -a paths os_releases versions
104
+
105
+ if [[ $os_name == linux ]]; then
106
+ os_releases=(" 12.04" " 14.04" " 15.10" )
107
+ for (( i= 0 ; i < ${# os_releases[@]} ; i++ )) ; do
108
+ paths[i]=" /ubuntu/${os_releases[i]} /x86_64/"
109
+ done
110
+ elif [[ $os_name == osx ]]; then
111
+ os_releases=(" 10.9" " 10.10" " 10.11" )
112
+ for (( i= 0 ; i < ${# os_releases[@]} ; i++ )) ; do
113
+ paths[i]=" /osx/${os_releases[i]} /x86_64/"
114
+ done
115
+ else
116
+ echo " ${FUNCNAME[1]} : no match for OS name"
117
+ return
118
+ fi
119
+
120
+ IFS=" ." read -r -a array <<< " $(rbx_revision_version)"
121
+
122
+ let i=0
123
+ version=" "
124
+ versions[i]=" "
125
+
126
+ for v in " ${array[@]} " ; do
127
+ let i=i+1
128
+ versions[i]=" -$version$v "
129
+ version=" $v ."
97
130
done
98
- else
99
- os_releases=(" 10.9" " 10.10" " 10.11" )
100
- for (( i= 0 ; i < ${# os_releases[@]} ; i++ )) ; do
101
- paths[i]=" /osx/${os_releases[i]} /x86_64/"
131
+
132
+ for path in " ${paths[@]} " ; do
133
+ for version in " ${versions[@]} " ; do
134
+ rbx_upload_files " $( rbx_binary_bucket) " " rubinius$version .tar.bz2" \
135
+ " $( rbx_release_name) " " $path "
136
+ done
102
137
done
103
- fi
138
+ }
139
+
140
+ function rbx_deploy_github_release {
141
+ local os_name upload_url
104
142
105
- IFS= " . " read -r -a array <<< " $(rbx_revision_version) "
143
+ os_name= $1
106
144
107
- let i=0
108
- version=" "
109
- versions[i]=" "
145
+ if [[ $os_name == osx ]]; then
146
+ upload_url=$( rbx_github_release " $( rbx_revision_version) " " $( rbx_revision_date) " )
147
+
148
+ rbx_github_release_assets " $upload_url " " $( rbx_release_name) "
149
+ fi
150
+ }
110
151
111
- for v in " ${array[@]} " ; do
112
- let i=i+1
113
- versions[i]=" -$version$v "
114
- version=" $v ."
115
- done
152
+ function rbx_deploy_website_release {
153
+ local os_name
116
154
117
- for path in " ${paths[@]} " ; do
118
- for version in " ${versions[@]} " ; do
119
- rbx_upload_files " $( rbx_binary_bucket) " " rubinius$version .tar.bz2" \
120
- " $( rbx_release_name) " " $path "
155
+ os_name=$1
156
+
157
+ if [[ $os_name == osx ]]; then
158
+ echo rbx_deploy_website_release
159
+ fi
160
+ }
161
+
162
+ if [[ " ${BASH_SOURCE[0]} " == " ${0} " ]]; then
163
+ if [[ -z $1 ]]; then
164
+ " $0 " release github travis homebrew website
165
+ exit $?
166
+ fi
167
+
168
+ for cmd in " ${@ } " ; do
169
+ case " $cmd " in
170
+ " release" )
171
+ rbx_deploy_release_tarball " $TRAVIS_OS_NAME "
172
+ ;;
173
+ " github" )
174
+ rbx_deploy_github_release " $TRAVIS_OS_NAME "
175
+ ;;
176
+ " travis" )
177
+ rbx_deploy_travis_binary " $TRAVIS_OS_NAME "
178
+ ;;
179
+ " homebrew" )
180
+ rbx_deploy_homebrew_binary " $TRAVIS_OS_NAME "
181
+ ;;
182
+ " website" )
183
+ rbx_deploy_website_release " $TRAVIS_OS_NAME "
184
+ ;;
185
+ * )
186
+ cat >&2 << -EOM
187
+ Usage: ${0##*/ } [release github travis homebrew website]
188
+
189
+ If no arguments are passed, all deploy tasks are run.
190
+ EOM
191
+ exit 1
192
+ ;;
193
+ esac
121
194
done
122
- done
195
+ fi
0 commit comments