Skip to content

Commit

Permalink
Add custom upload rules for deb packages
Browse files Browse the repository at this point in the history
As of beaver v0.6.0 we have the option to use the `-C` option to specify
the repo to which a package should be uploaded.  This patch adds a small
helper script to decide the repo based on the version tag: anything with
a whole word equal `alpha`, `beta` or `rc` will go to the `prerelease`
repo, while a package built from any other version tag will go to the
`release` repo.  Travis CI config has been updated to use this script
for the deployment stage.

This should allow us to make trial package release tags along the lines
of `X.y.z-0tsunamiN+rc.1`, validate they work, and then follow up with a
final `X.y.z-0tsunamiN` tag to mark the final release package.
  • Loading branch information
joseph-wakeling-sociomantic committed Jun 5, 2018
1 parent 9644a31 commit fc496c6
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ script:

deploy:
provider: script
script: beaver bintray upload -d sociomantic-tsunami/mxnet/libmxnet build/last/pkg/*.deb
script: ./upload-tsunami-package
skip_cleanup: true
on:
tags: true
55 changes: 55 additions & 0 deletions upload-tsunami-package
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/bin/sh

################################################################################
#
# Helper script to upload tsunami libmxnet packages to the correct bintray repo
#
################################################################################
#
# This script parses the `TRAVIS_TAG` (i.e. the git tag containing the version
# of the package that has been built) to determine where to upload the package:
#
# * package versions containing any of the words `alpha`, `beta` or `rc`
# (whether in the upstream version or the package iteration) will be
# uploaded to the `prerelease` repo
#
# * otherwise, it is inferred the package is a stable release, and it
# will be uploaded to the `release` repo
#
################################################################################
#
# Boost Software License - Version 1.0 - August 17th, 2003
#
# Permission is hereby granted, free of charge, to any person or organization
# obtaining a copy of the software and accompanying documentation covered by
# this license (the "Software") to use, reproduce, display, distribute,
# execute, and transmit the Software, and to prepare derivative works of the
# Software, and to permit third-parties to whom the Software is furnished to
# do so, all subject to the following:
#
# The copyright notices in the Software and this entire statement, including
# the above license grant, this restriction and the following disclaimer,
# must be included in all copies of the Software, in whole or in part, and
# all derivative works of the Software, unless such copies or derivative
# works are solely in the form of machine-executable object code generated by
# a source language processor.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
# SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
# FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#
################################################################################

set -ex

if echo "$TRAVIS_TAG" | grep -qe '\<alpha\|beta\|rc\>'; then
UPLOAD_DESTINATION=prerelease
else
UPLOAD_DESTINATION=release
fi

beaver bintray upload -C "$UPLOAD_DESTINATION" -d sociomantic-tsunami/mxnet/libmxnet build/last/pkg/*.deb

0 comments on commit fc496c6

Please sign in to comment.