Skip to content

Commit 9fd4162

Browse files
committed
Deploy ZIP, RPM, DEB, and source pkgs to Bintray's pony-language org
Iff this is set up correctly, * on pull requests / random branch updates, tests will run but nothing will be deployed, * on _master_ and _release_ branch builds, packages for several platforms will be deployed to Bintray. AppVeyor will produce: * ZIP files with Win64 binaries. Travis will produce: * source archives, * RPM binary archives, * DEB binary archives. These are all then deployed (and published) to Bintray, using secure keys generated from pony-buildbot-2's API key. For example, on a merge to _master_, while the VERSION file says "0.2.1" at commit b9677ce, the following would be uploaded: 1. ponyc-master-0.2.1-59.b9677ce.tar.bz21 (from Travis) -> ponyc-source / ponyc-master 2. ponyc-master_0.2.1-59.b9677ce.x86_64.rpm (from Travis) -> ponyc-rpm / ponyc-master 3. ponyc_master-0.2.1-59.b9677ce_amd64.deb (from Travis) -> ponyc-debian / ponyc-master 4. ponyc-master-0.2.1-125.b9677ce-win64.zip (from AppVeyor) -> ponyc-win / ponyc-master See the README for usage, and https://bintray.com/pony-language/ for downloads.
1 parent dcabd25 commit 9fd4162

File tree

5 files changed

+259
-75
lines changed

5 files changed

+259
-75
lines changed

.appveyor.yml

+51-6
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,30 @@ version: "{build}"
22

33
image: Visual Studio 2015
44

5+
branches:
6+
only:
7+
- master
8+
- release
9+
510
environment:
611
matrix:
712
- llvm: 3.8.0
813
- llvm: 3.7.1
914

1015
configuration:
11-
- Debug
1216
- Release
17+
- Debug
1318

1419
clone_depth: 100
1520

1621
clone_folder: C:\projects\ponyc
1722

1823
install:
24+
- ps: |
25+
$package_commit = git rev-parse --short --verify "HEAD^{commit}"
26+
$package_version = (Get-Content "VERSION")
27+
$package_iteration = "$package_iteration${env:appveyor_build_number}.$package_commit"
28+
Update-AppveyorBuild -Version "ponyc-${env:appveyor_repo_branch}-$package_version-$package_iteration"
1929
- ps: |
2030
cd C:\
2131
$premakeInstalled = Test-Path C:\premake5.exe
@@ -57,18 +67,53 @@ install:
5767
$env:path += ";C:\ponyc-windows-libs\lib"
5868
cd C:\projects\ponyc
5969
C:\premake5.exe --with-tests --to=work/vs2015 vs2015
60-
- ps: |
61-
$file_version = (Get-Content "C:\projects\ponyc\VERSION")
62-
Update-AppveyorBuild -Version "$file_version.${env:appveyor_build_number}"
6370
6471
after_build:
6572
- ps: |
66-
cd C:\projects\ponyc
67-
7z a -tzip "ponyc-win64-${env:appveyor_build_version}-${env:configuration}-llvm-${env:llvm}.zip" "packages\" "build\$env:configuration\ponyc.*" "build\$env:configuration\ponyrt.*"
73+
$ponydir = "${env:appveyor_build_version}-win64"
74+
md "$ponydir"
75+
md "${ponydir}\ponyc"
76+
md "${ponydir}\ponyc\bin"
77+
copy build\$env:configuration\ponyc.* "${ponydir}\ponyc\bin"
78+
copy build\$env:configuration\ponyrt.* "${ponydir}\ponyc\bin"
79+
copy -recurse packages "${ponydir}\packages"
80+
81+
7z a -tzip "C:\projects\ponyc\${ponydir}.zip" "${ponydir}"
6882
6983
artifacts:
7084
- path: 'ponyc-*.zip'
7185

86+
deploy:
87+
# On branches `master` and `release`, deploy (and publish) artifacts
88+
# to the ponyc-win projects on Bintray.
89+
- provider: BinTray
90+
username: pony-buildbot-2
91+
api_key:
92+
secure: GPMFfEx/y9lomGHzZPD+0NtI3z5g9v8nAZJ9q3O0G49aORcBBZ/VUAXwqU82d5C9
93+
subject: ponylang
94+
repo: ponyc-win
95+
package: ponyc-master
96+
version: $(appveyor_build_version)
97+
on:
98+
branch: master
99+
llvm: 3.8.0
100+
configuration: Release
101+
publish: true
102+
103+
- provider: BinTray
104+
username: pony-buildbot-2
105+
api_key:
106+
secure: GPMFfEx/y9lomGHzZPD+0NtI3z5g9v8nAZJ9q3O0G49aORcBBZ/VUAXwqU82d5C9
107+
subject: ponylang
108+
repo: ponyc-win
109+
package: ponyc-release
110+
version: $(appveyor_build_version)
111+
on:
112+
branch: release
113+
llvm: 3.8.0
114+
configuration: Release
115+
publish: true
116+
72117
cache:
73118
- 'C:\LLVM-%llvm%\ -> .appveyor.yml'
74119
- C:\premake5.exe -> .appveyor.yml

.bintray.sh

+35-21
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,21 @@
1-
DATE=`date +%Y-%m-%d`
1+
REPO_TYPE=$1 # e.g., rpm | debian | source
2+
PACKAGE_VERSION=$2 # e.g., 0.2.1-234.master.abcdefa
3+
PACKAGE_NAME=$3 # e.g., ponyc-master | ponyc-release
24

3-
YAML="{
4-
\"package\": {
5-
\"name\": \"ponyc\",
6-
\"repo\": \"$1\",
7-
\"subject\": \"ponylang\"
8-
},
9-
\"version\": {
10-
\"name\": \"$2\",
11-
\"desc\": \"ponyc release $2\",
12-
\"released\": \"$DATE\",
13-
\"vcs_tag\": \"$2\",
14-
\"gpgSign\": true
15-
},"
5+
# TODO: cut "ponyc" out of the repo names
6+
BINTRAY_REPO_NAME="ponyc-$REPO_TYPE"
7+
OUTPUT_TARGET="bintray_${REPO_TYPE}.yml"
8+
9+
DATE=`date +%Y-%m-%d`
1610

17-
case $1 in
11+
case "$REPO_TYPE" in
1812
"debian")
1913
FILES="\"files\":
2014
[
2115
{
22-
\"includePattern\": \"build/bin/(.*\.deb)\", \"uploadPattern\": \"\$1\",
16+
\"includePattern\": \"\\\\/home\\\\/travis\\\\/build\\\\/ponylang\\\\/ponyc\\\\/build\\\\/bin\\\\/(.*\\\\.deb)\", \"uploadPattern\": \"\$1\",
2317
\"matrixParams\": {
24-
\"deb_distribution\": \"vivid\",
18+
\"deb_distribution\": \"pony-language\",
2519
\"deb_component\": \"main\",
2620
\"deb_architecture\": \"amd64\"}
2721
}
@@ -31,19 +25,39 @@ case $1 in
3125
"rpm")
3226
FILES="\"files\":
3327
[
34-
{\"includePattern\": \"build/bin/(.*\.rpm)\", \"uploadPattern\": \"\$1\"}
28+
{\"includePattern\": \"\\\\/home\\\\/travis\\\\/build\\\\/ponylang\\\\/ponyc\\\\/build\\\\/bin\\\\/(.*\\\\.rpm)\", \"uploadPattern\": \"\$1\"}
3529
],
3630
\"publish\": true"
3731
;;
3832
"source")
3933
FILES="\"files\":
4034
[
41-
{\"includePattern\": \"build/bin/(.*\.tar.bz2)\", \"uploadPattern\": \"\$1\"}
35+
{\"includePattern\": \"\\\\/home\\\\/travis\\\\/build\\\\/ponylang\\\\/ponyc\\\\/build\\\\/bin\\\\/(.*\\\\.tar.bz2)\", \"uploadPattern\": \"\$1\"}
4236
],
4337
\"publish\": true"
4438
;;
4539
esac
4640

47-
YAML=$YAML$FILES"}"
41+
YAML="{
42+
\"package\": {
43+
\"repo\": \"$BINTRAY_REPO_NAME\",
44+
\"name\": \"$PACKAGE_NAME\",
45+
\"subject\": \"pony-language\"
46+
},
47+
\"version\": {
48+
\"name\": \"$PACKAGE_VERSION\",
49+
\"desc\": \"ponyc release $PACKAGE_VERSION\",
50+
\"released\": \"$DATE\",
51+
\"vcs_tag\": \"$PACKAGE_VERSION\",
52+
\"gpgSign\": false
53+
},"
54+
55+
YAML="$YAML$FILES}"
56+
57+
echo "Writing YAML to file: $OUTPUT_TARGET, from within `pwd` ..."
58+
echo "$YAML" >> "$OUTPUT_TARGET"
59+
60+
echo "=== WRITTEN FILE =========================="
61+
cat -v "$OUTPUT_TARGET"
62+
echo "==========================================="
4863

49-
echo $YAML >> bintray_$1.yml

.travis.yml

+107-30
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ language: c
33
branches:
44
only:
55
- master
6+
- release
67

78
dist: trusty
89
sudo: required
@@ -64,7 +65,30 @@ matrix:
6465
- LLVM_CONFIG="llvm-config-3.8"
6566
- config=release
6667

68+
rvm:
69+
- 2.2.3
70+
6771
install:
72+
# For a master or release release build with the latest stable LLVM,
73+
# prepare to deploy artifacts.
74+
- if [[
75+
"$TRAVIS_REPO_SLUG" == "ponylang/ponyc" &&
76+
"$LLVM_VERSION" == "3.8.0" &&
77+
"$config" == "release" &&
78+
"$TRAVIS_OS_NAME" == "linux" &&
79+
"$TRAVIS_PULL_REQUEST" == "false"
80+
]];
81+
then
82+
if [[ "$TRAVIS_BRANCH" == "master" || "$TRAVIS_BRANCH" == "release" ]];
83+
then
84+
export CREATE_PACKAGES=yes;
85+
86+
sudo apt-get install -y rpm;
87+
rvm use 2.2.3 --default;
88+
gem install fpm;
89+
fi;
90+
fi;
91+
6892
- if [ "${TRAVIS_OS_NAME}" = "linux" ];
6993
then
7094
wget "http://llvm.org/releases/${LLVM_VERSION}/clang+llvm-${LLVM_VERSION}-x86_64-linux-gnu-ubuntu-14.04.tar.xz";
@@ -93,47 +117,100 @@ notifications:
93117
recipients:
94118
95119

120+
after_success:
121+
# If successful, set $UPLOAD to "yes".
122+
#
123+
# The PACKAGE_ITERATION will be fed to the DEB and RPM systems by FPM
124+
# as a suffix to the base version (DEB:debian_revision or RPM:release,
125+
# used to disambiguate packages with the same version).
126+
#
127+
# PACKAGE_NAME and PACKAGE_CONFLICTS are used (by FPM) to create mutually exclusive packages
128+
# like "ponyc-master" and "ponyc-release".
129+
- if [[ "$CREATE_PACKAGES" == "yes" ]];
130+
then
131+
if [[ "$TRAVIS_BRANCH" == "release" ]];
132+
then
133+
PACKAGE_NAME="ponyc-release";
134+
PACKAGE_CONFLICTS="ponyc-master";
135+
else
136+
PACKAGE_NAME="ponyc-$TRAVIS_BRANCH";
137+
PACKAGE_CONFLICTS="ponyc-release";
138+
fi;
139+
PACKAGE_ITERATION="${PACKAGE_ITERATION}${TRAVIS_BUILD_NUMBER}.`git rev-parse --short --verify HEAD^{commit}`";
140+
make verbose=1 config=release package_name="$PACKAGE_NAME" package_conflicts="$PACKAGE_CONFLICTS" package_base_version="`cat VERSION`" package_iteration="$PACKAGE_ITERATION" deploy && export UPLOAD=yes;
141+
fi;
142+
143+
# For a master release build with the latest stable LLVM, upload docs.
144+
- if [[
145+
"$TRAVIS_REPO_SLUG" == "ponylang/ponyc" &&
146+
"$LLVM_VERSION" == "3.8.0" &&
147+
"$config" == "release" &&
148+
"$TRAVIS_OS_NAME" == "linux" &&
149+
"$TRAVIS_PULL_REQUEST" == "false" &&
150+
"$TRAVIS_BRANCH" == "master"
151+
]];
152+
then
153+
git remote add gh-token "https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}";
154+
git fetch gh-token && git fetch gh-token gh-pages:gh-pages;
155+
build/release/ponyc packages/stdlib --docs;
156+
cd stdlib-docs;
157+
sudo -H pip install mkdocs;
158+
sed -i '' 's/site_name:\ stdlib/site_name:\ Pony Standard Library/' mkdocs.yml;
159+
mkdocs gh-deploy -v --clean --remote-name gh-token;
160+
fi;
161+
96162
deploy:
97163
- provider: bintray
98-
user: pony-buildbot
99-
file: bintray_debian.yml
164+
user: pony-buildbot-2
165+
file: /home/travis/build/ponylang/ponyc/bintray_debian.yml
166+
on:
167+
branch: master
168+
condition: "$UPLOAD = yes"
169+
key:
170+
secure: "GGDPvrwx0nY09smgUP0ocbBCIdvl1r96bzM7NYxxS9l9d6xGegaSFzUF6B19mdIRT4A+mR9fxpc2eQpxC6iduWVOWGwXGqtYtWzKz/C1I3s/UICPWDl2f4wsO8KGqcO2+M87aw3bwUKC4GgzKa956HKm8BVeCWhbwyFSf0c4UyST8Lkv2vAFWeRDmu/fzUwwFFpiHwlE7W1rlJhQV2xiY8pwVntgxAmTL5ssSOYdk+t65H1fIfjF3k+dU0KkARa8y2JaVhtYHlisHjCki2V3hhKenGcoK22WnNckaCM9sn/ppCm6KRhqcbtGrbEYu8XAA/xXnw3xtgZWVHhcLdTXDl13rxCGchdF1f2rtEZCfI9BSJeQlLBRrf8lF9rEdLgfUqOKSq47KKrENa5PclhGiby9iICBuzRMJxbKUvXo8dcCvFP+/Q8ekIMyAItIK/AJBX9Gx4Yv25g8n5XZDzgfNlOEou27emo7zv1/nCEZkwKQyfHAEbnpz56y0JaR+eMotBdLIHsDNZSAh+/tWNiUYBaKfZydawrnHlWxiX8diMEOqZWHhlIHRljCmt2NUxAevht2mzzoZ+NBZxfyaDcw0dt8A1cGpigZh995Pj+LaFidPK7lvIwJGJ1956Iaj+wnZxJCkCOHuTLtO5KYDTIlgbmd7vVQfX5wm9uKsrsifF8="
171+
172+
- provider: bintray
173+
user: pony-buildbot-2
174+
file: /home/travis/build/ponylang/ponyc/bintray_rpm.yml
175+
on:
176+
branch: master
177+
condition: "$UPLOAD = yes"
178+
key:
179+
secure: "GGDPvrwx0nY09smgUP0ocbBCIdvl1r96bzM7NYxxS9l9d6xGegaSFzUF6B19mdIRT4A+mR9fxpc2eQpxC6iduWVOWGwXGqtYtWzKz/C1I3s/UICPWDl2f4wsO8KGqcO2+M87aw3bwUKC4GgzKa956HKm8BVeCWhbwyFSf0c4UyST8Lkv2vAFWeRDmu/fzUwwFFpiHwlE7W1rlJhQV2xiY8pwVntgxAmTL5ssSOYdk+t65H1fIfjF3k+dU0KkARa8y2JaVhtYHlisHjCki2V3hhKenGcoK22WnNckaCM9sn/ppCm6KRhqcbtGrbEYu8XAA/xXnw3xtgZWVHhcLdTXDl13rxCGchdF1f2rtEZCfI9BSJeQlLBRrf8lF9rEdLgfUqOKSq47KKrENa5PclhGiby9iICBuzRMJxbKUvXo8dcCvFP+/Q8ekIMyAItIK/AJBX9Gx4Yv25g8n5XZDzgfNlOEou27emo7zv1/nCEZkwKQyfHAEbnpz56y0JaR+eMotBdLIHsDNZSAh+/tWNiUYBaKfZydawrnHlWxiX8diMEOqZWHhlIHRljCmt2NUxAevht2mzzoZ+NBZxfyaDcw0dt8A1cGpigZh995Pj+LaFidPK7lvIwJGJ1956Iaj+wnZxJCkCOHuTLtO5KYDTIlgbmd7vVQfX5wm9uKsrsifF8="
180+
181+
- provider: bintray
182+
user: pony-buildbot-2
183+
file: /home/travis/build/ponylang/ponyc/bintray_source.yml
184+
on:
185+
branch: master
186+
condition: "$UPLOAD = yes"
187+
key:
188+
secure: "GGDPvrwx0nY09smgUP0ocbBCIdvl1r96bzM7NYxxS9l9d6xGegaSFzUF6B19mdIRT4A+mR9fxpc2eQpxC6iduWVOWGwXGqtYtWzKz/C1I3s/UICPWDl2f4wsO8KGqcO2+M87aw3bwUKC4GgzKa956HKm8BVeCWhbwyFSf0c4UyST8Lkv2vAFWeRDmu/fzUwwFFpiHwlE7W1rlJhQV2xiY8pwVntgxAmTL5ssSOYdk+t65H1fIfjF3k+dU0KkARa8y2JaVhtYHlisHjCki2V3hhKenGcoK22WnNckaCM9sn/ppCm6KRhqcbtGrbEYu8XAA/xXnw3xtgZWVHhcLdTXDl13rxCGchdF1f2rtEZCfI9BSJeQlLBRrf8lF9rEdLgfUqOKSq47KKrENa5PclhGiby9iICBuzRMJxbKUvXo8dcCvFP+/Q8ekIMyAItIK/AJBX9Gx4Yv25g8n5XZDzgfNlOEou27emo7zv1/nCEZkwKQyfHAEbnpz56y0JaR+eMotBdLIHsDNZSAh+/tWNiUYBaKfZydawrnHlWxiX8diMEOqZWHhlIHRljCmt2NUxAevht2mzzoZ+NBZxfyaDcw0dt8A1cGpigZh995Pj+LaFidPK7lvIwJGJ1956Iaj+wnZxJCkCOHuTLtO5KYDTIlgbmd7vVQfX5wm9uKsrsifF8="
189+
190+
- provider: bintray
191+
user: pony-buildbot-2
192+
file: /home/travis/build/ponylang/ponyc/bintray_debian.yml
100193
on:
101194
branch: release
102-
condition: $UPLOAD = yes
195+
condition: "$UPLOAD = yes"
103196
key:
104-
secure: lHcuHpEj2N/P5SajENhVOT+mH1pwlInlBfk0l09fUuvoqLAIJI6Gb1OHGbNnazxxxH/ANVmP14XIU8hGWwQBGMTjUkJ8/FyyzGCHJlMiSSBzdAozLp1rG4A5IaNg9KvHgwljjerGp1FcTDjySV7v+I4eouhIravc6223xOrpPIQo8U0ZXm6vIIP4g8CVqMzBBsJh6O79GiGceV9x4G1nky40Tf1ulA0BmDiv1k1NEjMQKq04PX/OzQSSF/eHeVXOHFVmbz7dwngKtdMoZodsZDLfSJgG7aCH7k6opg0M+OkitB+RHR7O8cpPcbbOVuJTYcbiKeHvctN2yVXXiwNiawuGGw6M2ik+fSqrPg5POr+vbbXruGlr55ZmTP1WMbF750heKjNsSvrSAdsdquCv3vVvAbBykVO0cDrYWrMnik7cbT5nzFSwrZYiQorKC6HrBHQ6LFaK4hKNh0xVPu8WTCmWQBGtDjpEIlKDuLH2A0K3mz+DJGgn4Y+TIHJeKwp6yPZTaa6h+w0afDmA9cHzG73mp8S9u1NIc4P2HObIdkTnvb/5EoQ0r+46uPVETmRnspxlYZYPg/76jrrRTeAfEj8OI57IeRi2Yxa5iUyiA6/Pe/Kyfxkly8fV/JBQYjgDKmB9zUjKT7RAvSk1adSL69+PKWeU6Y6zYrz+c92CMGA=
197+
secure: "GGDPvrwx0nY09smgUP0ocbBCIdvl1r96bzM7NYxxS9l9d6xGegaSFzUF6B19mdIRT4A+mR9fxpc2eQpxC6iduWVOWGwXGqtYtWzKz/C1I3s/UICPWDl2f4wsO8KGqcO2+M87aw3bwUKC4GgzKa956HKm8BVeCWhbwyFSf0c4UyST8Lkv2vAFWeRDmu/fzUwwFFpiHwlE7W1rlJhQV2xiY8pwVntgxAmTL5ssSOYdk+t65H1fIfjF3k+dU0KkARa8y2JaVhtYHlisHjCki2V3hhKenGcoK22WnNckaCM9sn/ppCm6KRhqcbtGrbEYu8XAA/xXnw3xtgZWVHhcLdTXDl13rxCGchdF1f2rtEZCfI9BSJeQlLBRrf8lF9rEdLgfUqOKSq47KKrENa5PclhGiby9iICBuzRMJxbKUvXo8dcCvFP+/Q8ekIMyAItIK/AJBX9Gx4Yv25g8n5XZDzgfNlOEou27emo7zv1/nCEZkwKQyfHAEbnpz56y0JaR+eMotBdLIHsDNZSAh+/tWNiUYBaKfZydawrnHlWxiX8diMEOqZWHhlIHRljCmt2NUxAevht2mzzoZ+NBZxfyaDcw0dt8A1cGpigZh995Pj+LaFidPK7lvIwJGJ1956Iaj+wnZxJCkCOHuTLtO5KYDTIlgbmd7vVQfX5wm9uKsrsifF8="
198+
105199
- provider: bintray
106-
user: pony-buildbot
107-
file: bintray_rpm.yml
200+
user: pony-buildbot-2
201+
file: /home/travis/build/ponylang/ponyc/bintray_rpm.yml
108202
on:
109203
branch: release
110-
condition: $UPLOAD = yes
204+
condition: "$UPLOAD = yes"
111205
key:
112-
secure: lHcuHpEj2N/P5SajENhVOT+mH1pwlInlBfk0l09fUuvoqLAIJI6Gb1OHGbNnazxxxH/ANVmP14XIU8hGWwQBGMTjUkJ8/FyyzGCHJlMiSSBzdAozLp1rG4A5IaNg9KvHgwljjerGp1FcTDjySV7v+I4eouhIravc6223xOrpPIQo8U0ZXm6vIIP4g8CVqMzBBsJh6O79GiGceV9x4G1nky40Tf1ulA0BmDiv1k1NEjMQKq04PX/OzQSSF/eHeVXOHFVmbz7dwngKtdMoZodsZDLfSJgG7aCH7k6opg0M+OkitB+RHR7O8cpPcbbOVuJTYcbiKeHvctN2yVXXiwNiawuGGw6M2ik+fSqrPg5POr+vbbXruGlr55ZmTP1WMbF750heKjNsSvrSAdsdquCv3vVvAbBykVO0cDrYWrMnik7cbT5nzFSwrZYiQorKC6HrBHQ6LFaK4hKNh0xVPu8WTCmWQBGtDjpEIlKDuLH2A0K3mz+DJGgn4Y+TIHJeKwp6yPZTaa6h+w0afDmA9cHzG73mp8S9u1NIc4P2HObIdkTnvb/5EoQ0r+46uPVETmRnspxlYZYPg/76jrrRTeAfEj8OI57IeRi2Yxa5iUyiA6/Pe/Kyfxkly8fV/JBQYjgDKmB9zUjKT7RAvSk1adSL69+PKWeU6Y6zYrz+c92CMGA=
206+
secure: "GGDPvrwx0nY09smgUP0ocbBCIdvl1r96bzM7NYxxS9l9d6xGegaSFzUF6B19mdIRT4A+mR9fxpc2eQpxC6iduWVOWGwXGqtYtWzKz/C1I3s/UICPWDl2f4wsO8KGqcO2+M87aw3bwUKC4GgzKa956HKm8BVeCWhbwyFSf0c4UyST8Lkv2vAFWeRDmu/fzUwwFFpiHwlE7W1rlJhQV2xiY8pwVntgxAmTL5ssSOYdk+t65H1fIfjF3k+dU0KkARa8y2JaVhtYHlisHjCki2V3hhKenGcoK22WnNckaCM9sn/ppCm6KRhqcbtGrbEYu8XAA/xXnw3xtgZWVHhcLdTXDl13rxCGchdF1f2rtEZCfI9BSJeQlLBRrf8lF9rEdLgfUqOKSq47KKrENa5PclhGiby9iICBuzRMJxbKUvXo8dcCvFP+/Q8ekIMyAItIK/AJBX9Gx4Yv25g8n5XZDzgfNlOEou27emo7zv1/nCEZkwKQyfHAEbnpz56y0JaR+eMotBdLIHsDNZSAh+/tWNiUYBaKfZydawrnHlWxiX8diMEOqZWHhlIHRljCmt2NUxAevht2mzzoZ+NBZxfyaDcw0dt8A1cGpigZh995Pj+LaFidPK7lvIwJGJ1956Iaj+wnZxJCkCOHuTLtO5KYDTIlgbmd7vVQfX5wm9uKsrsifF8="
207+
113208
- provider: bintray
114-
user: pony-buildbot
115-
file: bintray_source.yml
209+
user: pony-buildbot-2
210+
file: /home/travis/build/ponylang/ponyc/bintray_source.yml
116211
on:
117212
branch: release
118-
condition: $UPLOAD = yes
213+
condition: "$UPLOAD = yes"
119214
key:
120-
secure: lHcuHpEj2N/P5SajENhVOT+mH1pwlInlBfk0l09fUuvoqLAIJI6Gb1OHGbNnazxxxH/ANVmP14XIU8hGWwQBGMTjUkJ8/FyyzGCHJlMiSSBzdAozLp1rG4A5IaNg9KvHgwljjerGp1FcTDjySV7v+I4eouhIravc6223xOrpPIQo8U0ZXm6vIIP4g8CVqMzBBsJh6O79GiGceV9x4G1nky40Tf1ulA0BmDiv1k1NEjMQKq04PX/OzQSSF/eHeVXOHFVmbz7dwngKtdMoZodsZDLfSJgG7aCH7k6opg0M+OkitB+RHR7O8cpPcbbOVuJTYcbiKeHvctN2yVXXiwNiawuGGw6M2ik+fSqrPg5POr+vbbXruGlr55ZmTP1WMbF750heKjNsSvrSAdsdquCv3vVvAbBykVO0cDrYWrMnik7cbT5nzFSwrZYiQorKC6HrBHQ6LFaK4hKNh0xVPu8WTCmWQBGtDjpEIlKDuLH2A0K3mz+DJGgn4Y+TIHJeKwp6yPZTaa6h+w0afDmA9cHzG73mp8S9u1NIc4P2HObIdkTnvb/5EoQ0r+46uPVETmRnspxlYZYPg/76jrrRTeAfEj8OI57IeRi2Yxa5iUyiA6/Pe/Kyfxkly8fV/JBQYjgDKmB9zUjKT7RAvSk1adSL69+PKWeU6Y6zYrz+c92CMGA=
215+
secure: "GGDPvrwx0nY09smgUP0ocbBCIdvl1r96bzM7NYxxS9l9d6xGegaSFzUF6B19mdIRT4A+mR9fxpc2eQpxC6iduWVOWGwXGqtYtWzKz/C1I3s/UICPWDl2f4wsO8KGqcO2+M87aw3bwUKC4GgzKa956HKm8BVeCWhbwyFSf0c4UyST8Lkv2vAFWeRDmu/fzUwwFFpiHwlE7W1rlJhQV2xiY8pwVntgxAmTL5ssSOYdk+t65H1fIfjF3k+dU0KkARa8y2JaVhtYHlisHjCki2V3hhKenGcoK22WnNckaCM9sn/ppCm6KRhqcbtGrbEYu8XAA/xXnw3xtgZWVHhcLdTXDl13rxCGchdF1f2rtEZCfI9BSJeQlLBRrf8lF9rEdLgfUqOKSq47KKrENa5PclhGiby9iICBuzRMJxbKUvXo8dcCvFP+/Q8ekIMyAItIK/AJBX9Gx4Yv25g8n5XZDzgfNlOEou27emo7zv1/nCEZkwKQyfHAEbnpz56y0JaR+eMotBdLIHsDNZSAh+/tWNiUYBaKfZydawrnHlWxiX8diMEOqZWHhlIHRljCmt2NUxAevht2mzzoZ+NBZxfyaDcw0dt8A1cGpigZh995Pj+LaFidPK7lvIwJGJ1956Iaj+wnZxJCkCOHuTLtO5KYDTIlgbmd7vVQfX5wm9uKsrsifF8="
121216

122-
after_success:
123-
- if [[ $TRAVIS_OSNAME == "linux" && $CC == "gcc" && $TRAVIS_BRANCH == "release" ]];
124-
then
125-
cat VERSION | xargs sh .bintray.sh debian $1;
126-
cat VERSION | xargs sh .bintray.sh rpm $1;
127-
cat VERSION | xargs sh .bintray.sh source $1;
128-
make config=release deploy;
129-
export UPLOAD=yes;
130-
fi;
131-
- if [[ $TRAVIS_BRANCH == 'master' && $TRAVIS_PULL_REQUEST == 'false' ]]; then
132-
git remote add gh-token "https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}";
133-
git fetch gh-token && git fetch gh-token gh-pages:gh-pages;
134-
build/release/ponyc packages/stdlib --docs;
135-
cd stdlib-docs;
136-
sudo -H pip install mkdocs;
137-
sed -i '' 's/site_name:\ stdlib/site_name:\ Pony Standard Library/' mkdocs.yml;
138-
mkdocs gh-deploy -v --clean --remote-name gh-token;
139-
fi;

Makefile

+15-6
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,14 @@ tag := $(shell cat VERSION)
4949
git := no
5050
endif
5151

52-
package_version := $(tag)
53-
archive = ponyc-$(package_version).tar
54-
package = build/ponyc-$(package_version)
52+
# package_name, _version, and _iteration can be overriden by Travis or AppVeyor
53+
package_base_version ?= $(tag)
54+
package_iteration ?= "1"
55+
package_name ?= "ponyc-unknown"
56+
package_conflicts ?= "ponyc-release"
57+
package_version = $(package_base_version)-$(package_iteration)
58+
archive = $(package_name)-$(package_version).tar
59+
package = build/$(package_name)-$(package_version)
5560

5661
symlink := yes
5762

@@ -625,8 +630,12 @@ release: prerelease setversion
625630
endif
626631

627632
# Note: linux only
633+
# FIXME: why is $(branch) empty?
628634
define EXPAND_DEPLOY
629635
deploy: test
636+
$(SILENT)sh .bintray.sh debian "$(package_version)" "$(package_name)"
637+
$(SILENT)sh .bintray.sh rpm "$(package_version)" "$(package_name)"
638+
$(SILENT)sh .bintray.sh source "$(package_version)" "$(package_name)"
630639
@mkdir build/bin
631640
@mkdir -p $(package)/usr/bin
632641
@mkdir -p $(package)/usr/include
@@ -650,9 +659,9 @@ endif
650659
$(SILENT)ln -s /usr/lib/pony/$(package_version)/include/pony.h $(package)/usr/include/pony.h
651660
$(SILENT)cp -r packages $(package)/usr/lib/pony/$(package_version)/
652661
$(SILENT)build/release/ponyc packages/stdlib -rexpr -g -o $(package)/usr/lib/pony/$(package_version)
653-
$(SILENT)fpm -s dir -t deb -C $(package) -p build/bin --name ponyc --version $(package_version) --description "The Pony Compiler"
654-
$(SILENT)fpm -s dir -t rpm -C $(package) -p build/bin --name ponyc --version $(package_version) --description "The Pony Compiler"
655-
$(SILENT)git archive release > build/bin/$(archive)
662+
$(SILENT)fpm -s dir -t deb -C $(package) -p build/bin --name $(package_name) --conflicts $(package_conflicts) --version $(package_base_version) --iteration "$(package_iteration)" --description "The Pony Compiler"
663+
$(SILENT)fpm -s dir -t rpm -C $(package) -p build/bin --name $(package_name) --conflicts $(package_conflicts) --version $(package_base_version) --iteration "$(package_iteration)" --description "The Pony Compiler"
664+
$(SILENT)git archive HEAD > build/bin/$(archive)
656665
$(SILENT)cp -r $(package)/usr/lib/pony/$(package_version)/stdlib-docs stdlib-docs
657666
$(SILENT)tar rvf build/bin/$(archive) stdlib-docs
658667
$(SILENT)bzip2 build/bin/$(archive)

0 commit comments

Comments
 (0)