aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2019-08-04 15:11:12 +0200
committerTeddy Wing2019-08-05 00:50:35 +0200
commit3bcb4a2e18f94a70b74f1e6c480681bd5fe936a7 (patch)
tree1c5e1db9cbfa8bc4ac2701dc99441b8779de7d10
parentaadf913735a3c9a2db06dba432578b203b7bb12d (diff)
downloadpodcast-deploy-releases-from-travis-ci.tar.bz2
Deploy releases to GitHub from TravisCIdeploy-releases-from-travis-ci
-rw-r--r--.travis.yml10
-rw-r--r--ci/before_deploy.sh26
2 files changed, 36 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
index e1c138a..4f15696 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -31,6 +31,16 @@ branches:
# is pushed. This regex matches semantic versions like v1.2.3-rc4+2016.02.22
- /^\d+\.\d+\.\d+.*$/
+before_deploy: bash ci/before_deploy.sh
+deploy:
+ provider: releases
+ api_key:
+ secure: "TODO: add key"
+ file: $PROJECT_NAME-$TRAVIS_TAG-$TARGET.tar.gz
+ skip_cleanup: true
+ on:
+ tags: true
+
notifications:
email:
on_success: never
diff --git a/ci/before_deploy.sh b/ci/before_deploy.sh
new file mode 100644
index 0000000..635c47e
--- /dev/null
+++ b/ci/before_deploy.sh
@@ -0,0 +1,26 @@
+set -ex
+
+build_release() {
+ cargo build --target $TARGET --release --verbose
+}
+
+mk_tarball() {
+ local tmpdir="$(mktemp -d)"
+ local name="$PROJECT_NAME-$TRAVIS_TAG-$TARGET"
+ local release_dir="$tmpdir/$name"
+
+ mkdir -p "$release_dir"
+
+ cp "target/$TARGET/release/podcast" "$release_dir/podcast"
+
+ cd "$tmpdir"
+ tar czf "$TRAVIS_BUILD_DIR/$name.tar.gz" "$name"
+ rm -rf "$tmpdir"
+}
+
+main() {
+ build_release
+ mk_tarball
+}
+
+main