chore: add type option to bintray publish script (#1670)

Used to not hardcode the architecture type, and to be able to
conditionally set the Bintray Debian headers.

See: https://github.com/resin-io/etcher/pull/1611#discussion_r131349440
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
This commit is contained in:
Juan Cruz Viotti 2017-08-06 19:56:17 -07:00 committed by GitHub
parent 4827267af6
commit b5b98cf392
2 changed files with 20 additions and 10 deletions

View File

@ -478,7 +478,8 @@ publish-bintray-debian: $(PUBLISH_BINTRAY_DEBIAN)
-t $(RELEASE_TYPE) \
-o $(BINTRAY_ORGANIZATION) \
-p $(BINTRAY_REPOSITORY_DEBIAN) \
-c $(BINTRAY_COMPONENT)))
-c $(BINTRAY_COMPONENT) \
-y debian))
PUBLISHABLES += publish-bintray-debian
TARGETS += publish-bintray-debian
@ -493,7 +494,8 @@ publish-bintray-redhat: $(PUBLISH_BINTRAY_REDHAT)
-t $(RELEASE_TYPE) \
-o $(BINTRAY_ORGANIZATION) \
-p $(BINTRAY_REPOSITORY_REDHAT) \
-c $(BINTRAY_COMPONENT)))
-c $(BINTRAY_COMPONENT) \
-y redhat))
PUBLISHABLES += publish-bintray-redhat
TARGETS += publish-bintray-redhat

View File

@ -33,6 +33,7 @@ function usage() {
echo " -o <bintray organization>"
echo " -p <bintray repository>"
echo " -c <bintray component>"
echo " -y <project type (debian|redhat)>"
exit 1
}
@ -43,8 +44,9 @@ ARGV_RELEASE_TYPE=""
ARGV_ORGANIZATION=""
ARGV_REPOSITORY=""
ARGV_COMPONENT=""
ARGV_TYPE=""
while getopts ":f:v:r:t:o:p:c:" option; do
while getopts ":f:v:r:t:o:p:c:y:" option; do
case $option in
f) ARGV_FILE="$OPTARG" ;;
v) ARGV_VERSION="$OPTARG" ;;
@ -53,6 +55,7 @@ while getopts ":f:v:r:t:o:p:c:" option; do
o) ARGV_ORGANIZATION="$OPTARG" ;;
p) ARGV_REPOSITORY="$OPTARG" ;;
c) ARGV_COMPONENT="$OPTARG" ;;
y) ARGV_TYPE="$OPTARG" ;;
*) usage ;;
esac
done
@ -63,7 +66,8 @@ if [ -z "$ARGV_FILE" ] || \
[ -z "$ARGV_RELEASE_TYPE" ] || \
[ -z "$ARGV_ORGANIZATION" ] || \
[ -z "$ARGV_REPOSITORY" ] || \
[ -z "$ARGV_COMPONENT" ]
[ -z "$ARGV_COMPONENT" ] || \
[ -z "$ARGV_TYPE" ]
then
usage
fi
@ -89,15 +93,19 @@ fi
PACKAGE_FILE_NAME=$(basename $ARGV_FILE)
PACKAGE_NAME=${PACKAGE_FILE_NAME%.*}
PACKAGE_ARCHITECTURE=$(./scripts/build/architecture-convert.sh -r "$ARGV_ARCHITECTURE" -t debian)
PACKAGE_ARCHITECTURE=$(./scripts/build/architecture-convert.sh -r "$ARGV_ARCHITECTURE" -t "$ARGV_TYPE")
BINTRAY_HEADERS="--header \"X-Bintray-Override: 1\" --header \"X-Bintray-Publish: 1\""
if [ "$ARGV_TYPE" == "debian" ]; then
BINTRAY_HEADERS="$BINTRAY_HEADERS --header \"X-Bintray-Debian-Distribution: $PACKAGE_DISTRIBUTION\""
BINTRAY_HEADERS="$BINTRAY_HEADERS --header \"X-Bintray-Debian-Component: $ARGV_COMPONENT\""
BINTRAY_HEADERS="$BINTRAY_HEADERS --header \"X-Bintray-Debian-Architecture: $PACKAGE_ARCHITECTURE\""
fi
curl --upload-file $ARGV_FILE \
--user $BINTRAY_USER:$BINTRAY_API_KEY \
--header "X-Bintray-Debian-Distribution: $PACKAGE_DISTRIBUTION" \
--header "X-Bintray-Debian-Component: $ARGV_COMPONENT" \
--header "X-Bintray-Debian-Architecture: $PACKAGE_ARCHITECTURE" \
--header "X-Bintray-Override: 1" \
--header "X-Bintray-Publish: 1" \
$BINTRAY_HEADERS \
https://api.bintray.com/content/$ARGV_ORGANIZATION/$ARGV_REPOSITORY/$ARGV_COMPONENT/$ARGV_VERSION/$PACKAGE_FILE_NAME
echo "$ARGV_FILE has been uploaded successfully"