From b5b98cf392eebf5f2658d884e3c05a5fc5098d28 Mon Sep 17 00:00:00 2001 From: Juan Cruz Viotti Date: Sun, 6 Aug 2017 19:56:17 -0700 Subject: [PATCH] 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 --- Makefile | 6 ++++-- scripts/publish/bintray.sh | 24 ++++++++++++++++-------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index f67b3cb1..dfc803f0 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/scripts/publish/bintray.sh b/scripts/publish/bintray.sh index 317c496d..9311c2c4 100755 --- a/scripts/publish/bintray.sh +++ b/scripts/publish/bintray.sh @@ -33,6 +33,7 @@ function usage() { echo " -o " echo " -p " echo " -c " + echo " -y " 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"