mirror of
https://github.com/balena-io/etcher.git
synced 2025-07-22 02:36:32 +00:00
chore: add support for snapshot builds (#968)
This commit introduces a `RELEASE_TYPE` option to the Makefile, which can be either `production` or `snapshot`. If its `production`, the behaviour its same as it was before. If `RELEASE_TYPE` is `snapshot`, the shorter version of the current commit hash is appended to the version (replacing the `APPLICATION_VERSION` in the Makefile, as well as the `package.json` version inside the `.asar`), and the publish scripts get configured to deploy to different "snapshot" locations. This commit also reduces the size of the version tag in the bottom right corner a bit so that it fits when the commit hash is appended to it. Signed-off-by: Juan Cruz Viotti <jviotti@openmailbox.org>
This commit is contained in:
parent
0b0b097620
commit
2c64f0da23
79
Makefile
79
Makefile
@ -22,12 +22,25 @@ ELECTRON_VERSION = $(shell jq -r '.devDependencies["electron-prebuilt"]' package
|
||||
COMPANY_NAME = $(shell jq -r '.companyName' package.json)
|
||||
APPLICATION_NAME = $(shell jq -r '.displayName' package.json)
|
||||
APPLICATION_DESCRIPTION = $(shell jq -r '.description' package.json)
|
||||
APPLICATION_VERSION = $(shell jq -r '.version' package.json)
|
||||
APPLICATION_COPYRIGHT = $(shell jq -r '.copyright' package.json)
|
||||
APPLICATION_CATEGORY = public.app-category.developer-tools
|
||||
APPLICATION_BUNDLE_ID = io.resin.etcher
|
||||
APPLICATION_FILES = lib,assets
|
||||
|
||||
# Add the current commit to the version if release type is "snapshot"
|
||||
RELEASE_TYPE ?= snapshot
|
||||
PACKAGE_JSON_VERSION = $(shell jq -r '.version' package.json)
|
||||
ifeq ($(RELEASE_TYPE),production)
|
||||
APPLICATION_VERSION = $(PACKAGE_JSON_VERSION)
|
||||
endif
|
||||
ifeq ($(RELEASE_TYPE),snapshot)
|
||||
CURRENT_COMMIT_HASH = $(shell git log -1 --format="%h")
|
||||
APPLICATION_VERSION = $(PACKAGE_JSON_VERSION)+$(CURRENT_COMMIT_HASH)
|
||||
endif
|
||||
ifndef APPLICATION_VERSION
|
||||
$(error Invalid release type: $(RELEASE_TYPE))
|
||||
endif
|
||||
|
||||
# ---------------------------------------------------------------------
|
||||
# Operating system and architecture detection
|
||||
# ---------------------------------------------------------------------
|
||||
@ -127,6 +140,13 @@ ifeq ($(TARGET_ARCH),x64)
|
||||
TARGET_ARCH_DEBIAN = amd64
|
||||
endif
|
||||
|
||||
ifeq ($(RELEASE_TYPE),production)
|
||||
PRODUCT_NAME = etcher
|
||||
endif
|
||||
ifeq ($(RELEASE_TYPE),snapshot)
|
||||
PRODUCT_NAME = etcher-snapshots
|
||||
endif
|
||||
|
||||
APPLICATION_NAME_LOWERCASE = $(shell echo $(APPLICATION_NAME) | tr A-Z a-z)
|
||||
APPLICATION_VERSION_DEBIAN = $(shell echo $(APPLICATION_VERSION) | tr "-" "~")
|
||||
|
||||
@ -166,15 +186,17 @@ $(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(TARGET_ARCH)-dependencies/bower
|
||||
| $(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(TARGET_ARCH)-dependencies
|
||||
./scripts/build/dependencies-bower.sh -p -x $|
|
||||
|
||||
$(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(TARGET_ARCH)-app: \
|
||||
$(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(APPLICATION_VERSION)-$(TARGET_ARCH)-app: \
|
||||
$(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(TARGET_ARCH)-dependencies/node_modules \
|
||||
$(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(TARGET_ARCH)-dependencies/bower_components \
|
||||
| $(BUILD_DIRECTORY)
|
||||
./scripts/build/electron-create-resources-app.sh -s . -f "$(APPLICATION_FILES)" -o $@
|
||||
./scripts/build/electron-create-resources-app.sh -s . -o $@ \
|
||||
-v $(APPLICATION_VERSION) \
|
||||
-f "$(APPLICATION_FILES)"
|
||||
$(foreach prerequisite,$^,$(call execute-command,cp -rf $(prerequisite) $@))
|
||||
|
||||
$(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(TARGET_ARCH)-app.asar: \
|
||||
$(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(TARGET_ARCH)-app \
|
||||
$(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(APPLICATION_VERSION)-$(TARGET_ARCH)-app.asar: \
|
||||
$(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(APPLICATION_VERSION)-$(TARGET_ARCH)-app \
|
||||
| $(BUILD_DIRECTORY)
|
||||
./scripts/build/electron-create-asar.sh -d $< -o $@
|
||||
|
||||
@ -186,8 +208,8 @@ $(BUILD_DIRECTORY)/electron-$(ELECTRON_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH
|
||||
-s "$(TARGET_PLATFORM)" \
|
||||
-o $@
|
||||
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(TARGET_PLATFORM)-$(TARGET_ARCH): \
|
||||
$(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(TARGET_ARCH)-app.asar \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH): \
|
||||
$(BUILD_DIRECTORY)/electron-$(TARGET_PLATFORM)-$(APPLICATION_VERSION)-$(TARGET_ARCH)-app.asar \
|
||||
$(BUILD_DIRECTORY)/electron-$(ELECTRON_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH).zip \
|
||||
| $(BUILD_DIRECTORY)
|
||||
ifeq ($(TARGET_PLATFORM),darwin)
|
||||
@ -228,8 +250,8 @@ endif
|
||||
endif
|
||||
endif
|
||||
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(TARGET_PLATFORM)-$(TARGET_ARCH)-rw.dmg: \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-darwin-$(TARGET_ARCH) \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH)-rw.dmg: \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-darwin-$(TARGET_ARCH) \
|
||||
| $(BUILD_DIRECTORY)
|
||||
./scripts/build/electron-create-readwrite-dmg-darwin.sh -p $< -o $@ \
|
||||
-n "$(APPLICATION_NAME)" \
|
||||
@ -237,7 +259,7 @@ $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(TARGET_PLATFORM)-$(TARGET_ARCH)-rw.dmg:
|
||||
-b assets/osx/installer.png
|
||||
|
||||
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-darwin-$(TARGET_ARCH).zip: \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-darwin-$(TARGET_ARCH) \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-darwin-$(TARGET_ARCH) \
|
||||
| $(BUILD_OUTPUT_DIRECTORY)
|
||||
ifdef CODE_SIGN_IDENTITY
|
||||
./scripts/build/electron-sign-app-darwin.sh -a $</$(APPLICATION_NAME).app -i "$(CODE_SIGN_IDENTITY)"
|
||||
@ -245,7 +267,7 @@ endif
|
||||
./scripts/build/electron-installer-app-zip-darwin.sh -a $</$(APPLICATION_NAME).app -o $@
|
||||
|
||||
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-darwin-$(TARGET_ARCH).dmg: \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(TARGET_PLATFORM)-$(TARGET_ARCH)-rw.dmg \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-$(TARGET_PLATFORM)-$(TARGET_ARCH)-rw.dmg \
|
||||
| $(BUILD_OUTPUT_DIRECTORY)
|
||||
ifdef CODE_SIGN_IDENTITY
|
||||
./scripts/build/electron-sign-dmg-darwin.sh \
|
||||
@ -255,8 +277,8 @@ ifdef CODE_SIGN_IDENTITY
|
||||
endif
|
||||
./scripts/build/electron-create-readonly-dmg-darwin.sh -d $< -o $@
|
||||
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-linux-$(TARGET_ARCH).AppDir: \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-linux-$(TARGET_ARCH) \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-linux-$(TARGET_ARCH).AppDir: \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-linux-$(TARGET_ARCH) \
|
||||
| $(BUILD_DIRECTORY)
|
||||
./scripts/build/electron-create-appdir.sh -p $< -o $@ \
|
||||
-n "$(APPLICATION_NAME)" \
|
||||
@ -265,20 +287,20 @@ $(BUILD_DIRECTORY)/$(APPLICATION_NAME)-linux-$(TARGET_ARCH).AppDir: \
|
||||
-b "$(APPLICATION_NAME_LOWERCASE)" \
|
||||
-i assets/icon.png
|
||||
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-linux-$(TARGET_ARCH).AppImage: \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-linux-$(TARGET_ARCH).AppDir \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-linux-$(TARGET_ARCH).AppImage: \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-linux-$(TARGET_ARCH).AppDir \
|
||||
| $(BUILD_DIRECTORY) $(BUILD_TEMPORARY_DIRECTORY)
|
||||
./scripts/build/electron-create-appimage-linux.sh -d $< -o $@ \
|
||||
-r "$(TARGET_ARCH)" \
|
||||
-w "$(BUILD_TEMPORARY_DIRECTORY)"
|
||||
|
||||
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-linux-$(TARGET_ARCH).zip: \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-linux-$(TARGET_ARCH).AppImage \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-linux-$(TARGET_ARCH).AppImage \
|
||||
| $(BUILD_OUTPUT_DIRECTORY)
|
||||
./scripts/build/electron-installer-appimage-zip.sh -i $< -o $@
|
||||
|
||||
$(BUILD_OUTPUT_DIRECTORY)/$(APPLICATION_NAME_LOWERCASE)-electron_$(APPLICATION_VERSION_DEBIAN)_$(TARGET_ARCH_DEBIAN).deb: \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-linux-$(TARGET_ARCH) \
|
||||
$(BUILD_DIRECTORY)/$(APPLICATION_NAME)-$(APPLICATION_VERSION)-linux-$(TARGET_ARCH) \
|
||||
| $(BUILD_OUTPUT_DIRECTORY)
|
||||
./scripts/build/electron-installer-debian-linux.sh -p $< -r "$(TARGET_ARCH)" -o $| \
|
||||
-c scripts/build/debian/config.json
|
||||
@ -319,14 +341,23 @@ endif
|
||||
|
||||
ifdef PUBLISH_AWS_S3
|
||||
publish-aws-s3: $(PUBLISH_AWS_S3)
|
||||
$(foreach publishable,$^,$(call execute-command,./scripts/publish/aws-s3.sh $(publishable)))
|
||||
$(foreach publishable,$^,$(call execute-command,./scripts/publish/aws-s3.sh \
|
||||
-f $(publishable) \
|
||||
-b $(S3_BUCKET) \
|
||||
-v $(APPLICATION_VERSION) \
|
||||
-p $(PRODUCT_NAME)))
|
||||
|
||||
TARGETS += publish-aws-s3
|
||||
endif
|
||||
|
||||
ifdef PUBLISH_BINTRAY_DEBIAN
|
||||
publish-bintray-debian: $(PUBLISH_BINTRAY_DEBIAN)
|
||||
$(foreach publishable,$^,$(call execute-command,./scripts/publish/bintray-debian.sh $(publishable)))
|
||||
$(foreach publishable,$^,$(call execute-command,./scripts/publish/bintray-debian.sh \
|
||||
-f $(publishable) \
|
||||
-v $(APPLICATION_VERSION_DEBIAN) \
|
||||
-r $(TARGET_ARCH_DEBIAN) \
|
||||
-c $(APPLICATION_NAME_LOWERCASE) \
|
||||
-t $(RELEASE_TYPE)))
|
||||
|
||||
TARGETS += publish-bintray-debian
|
||||
endif
|
||||
@ -354,10 +385,12 @@ help:
|
||||
@echo "Available targets: $(TARGETS)"
|
||||
|
||||
info:
|
||||
@echo "Host platform : $(HOST_PLATFORM)"
|
||||
@echo "Host arch : $(HOST_ARCH)"
|
||||
@echo "Target platform : $(TARGET_PLATFORM)"
|
||||
@echo "Target arch : $(TARGET_ARCH)"
|
||||
@echo "Application version : $(APPLICATION_VERSION)"
|
||||
@echo "Release type : $(RELEASE_TYPE)"
|
||||
@echo "Host platform : $(HOST_PLATFORM)"
|
||||
@echo "Host arch : $(HOST_ARCH)"
|
||||
@echo "Target platform : $(TARGET_PLATFORM)"
|
||||
@echo "Target arch : $(TARGET_ARCH)"
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIRECTORY)
|
||||
|
@ -75,7 +75,7 @@ Make sure you set the following environment variables:
|
||||
Run the following command:
|
||||
|
||||
```sh
|
||||
make publish-bintray-debian
|
||||
make publish-bintray-debian RELEASE_TYPE=<production|snapshot>
|
||||
```
|
||||
|
||||
Publishing to S3
|
||||
@ -92,14 +92,14 @@ access resin.io's production downloads S3 bucket.
|
||||
Run the following command to publish a specific file:
|
||||
|
||||
```sh
|
||||
./scripts/publish/aws-s3.sh <file>
|
||||
./scripts/publish/aws-s3.sh -f <file> -b <bucket> -v <version> -t <production|snapshot>
|
||||
```
|
||||
|
||||
Or run the following command to publish all files for the current combination
|
||||
of _platform_ and _arch_ (building them if necessary) :
|
||||
|
||||
```sh
|
||||
make publish-aws-s3
|
||||
make publish-aws-s3 RELEASE_TYPE=<production|snapshot>
|
||||
```
|
||||
|
||||
Also add links to each AWS S3 file in [GitHub Releases][github-releases]. See
|
||||
|
@ -6673,6 +6673,7 @@ body {
|
||||
.section-footer .caption[os-open-external]:hover, .section-footer .page-main [os-open-external].icon-caption:hover, .page-main .section-footer [os-open-external].icon-caption:hover {
|
||||
color: #85898c; }
|
||||
.section-footer .footer-right {
|
||||
font-size: 10px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%; }
|
||||
|
@ -80,6 +80,7 @@ body {
|
||||
}
|
||||
|
||||
.footer-right {
|
||||
font-size: 10px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
|
BIN
screenshot.png
BIN
screenshot.png
Binary file not shown.
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 124 KiB |
@ -19,24 +19,29 @@
|
||||
set -u
|
||||
set -e
|
||||
|
||||
./scripts/build/check-dependency.sh jq
|
||||
|
||||
function usage() {
|
||||
echo "Usage: $0"
|
||||
echo ""
|
||||
echo "Options"
|
||||
echo ""
|
||||
echo " -s <source directory>"
|
||||
echo " -v <application version>"
|
||||
echo " -f <extra files (comma separated)>"
|
||||
echo " -o <output>"
|
||||
exit 1
|
||||
}
|
||||
|
||||
ARGV_SOURCE_DIRECTORY=""
|
||||
ARGV_APPLICATION_VERSION=""
|
||||
ARGV_FILES=""
|
||||
ARGV_OUTPUT=""
|
||||
|
||||
while getopts ":s:f:o:" option; do
|
||||
while getopts ":s:v:f:o:" option; do
|
||||
case $option in
|
||||
s) ARGV_SOURCE_DIRECTORY=$OPTARG ;;
|
||||
v) ARGV_APPLICATION_VERSION=$OPTARG ;;
|
||||
f) ARGV_FILES=$OPTARG ;;
|
||||
o) ARGV_OUTPUT=$OPTARG ;;
|
||||
*) usage ;;
|
||||
@ -44,6 +49,7 @@ while getopts ":s:f:o:" option; do
|
||||
done
|
||||
|
||||
if [ -z "$ARGV_SOURCE_DIRECTORY" ] ||
|
||||
[ -z "$ARGV_APPLICATION_VERSION" ] || \
|
||||
[ -z "$ARGV_FILES" ] || \
|
||||
[ -z "$ARGV_OUTPUT" ]; then
|
||||
usage
|
||||
@ -51,7 +57,7 @@ fi
|
||||
|
||||
mkdir -p "$ARGV_OUTPUT"
|
||||
|
||||
cp "$ARGV_SOURCE_DIRECTORY/package.json" "$ARGV_OUTPUT"
|
||||
jq ".version = \"$ARGV_APPLICATION_VERSION\"" "$ARGV_SOURCE_DIRECTORY/package.json" > "$ARGV_OUTPUT/package.json"
|
||||
|
||||
for file in $(echo "$ARGV_FILES" | sed "s/,/ /g"); do
|
||||
cp -rf "$file" "$ARGV_OUTPUT"
|
||||
|
@ -22,16 +22,45 @@ set -e
|
||||
|
||||
./scripts/build/check-dependency.sh aws
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: $0 <file>" 1>&2
|
||||
function usage() {
|
||||
echo "Usage: $0"
|
||||
echo ""
|
||||
echo "Options"
|
||||
echo ""
|
||||
echo " -f <file>"
|
||||
echo " -b <s3 bucket>"
|
||||
echo " -v <version>"
|
||||
echo " -p <product name>"
|
||||
exit 1
|
||||
}
|
||||
|
||||
ARGV_FILE=""
|
||||
ARGV_BUCKET=""
|
||||
ARGV_VERSION=""
|
||||
ARGV_PRODUCT_NAME=""
|
||||
|
||||
while getopts ":f:b:v:p" option; do
|
||||
case $option in
|
||||
f) ARGV_FILE="$OPTARG" ;;
|
||||
b) ARGV_BUCKET="$OPTARG" ;;
|
||||
v) ARGV_VERSION="$OPTARG" ;;
|
||||
p) ARGV_PRODUCT_NAME="$OPTARG" ;;
|
||||
*) usage ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$ARGV_FILE" ] || \
|
||||
[ -z "$ARGV_BUCKET" ] || \
|
||||
[ -z "$ARGV_VERSION" ] || \
|
||||
[ -z "$ARGV_PRODUCT_NAME" ]
|
||||
then
|
||||
usage
|
||||
fi
|
||||
|
||||
ETCHER_VERSION=`node -e "console.log(require('./package.json').version)"`
|
||||
S3_BUCKET="resin-production-downloads"
|
||||
FILENAME=$(basename "$ARGV_FILE")
|
||||
|
||||
aws s3api put-object \
|
||||
--bucket $S3_BUCKET \
|
||||
--bucket "$ARGV_BUCKET" \
|
||||
--acl public-read \
|
||||
--key etcher/$ETCHER_VERSION/`basename $1` \
|
||||
--body $1
|
||||
--key "$ARGV_PRODUCT_NAME/$ARGV_VERSION/$FILENAME" \
|
||||
--body "$ARGV_FILE"
|
||||
|
@ -22,9 +22,43 @@ set -e
|
||||
|
||||
./scripts/build/check-dependency.sh curl
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: $0 <debfile>" 1>&2
|
||||
function usage() {
|
||||
echo "Usage: $0"
|
||||
echo ""
|
||||
echo "Options"
|
||||
echo ""
|
||||
echo " -f <file>"
|
||||
echo " -v <debian-friendly version>"
|
||||
echo " -r <architecture>"
|
||||
echo " -c <component name>"
|
||||
echo " -t <release type (production|snapshot)>"
|
||||
exit 1
|
||||
}
|
||||
|
||||
ARGV_FILE=""
|
||||
ARGV_VERSION=""
|
||||
ARGV_ARCHITECTURE=""
|
||||
ARGV_COMPONENT_NAME=""
|
||||
ARGV_RELEASE_TYPE=""
|
||||
|
||||
while getopts ":f:v:r:c:t" option; do
|
||||
case $option in
|
||||
f) ARGV_FILE="$OPTARG" ;;
|
||||
v) ARGV_VERSION="$OPTARG" ;;
|
||||
r) ARGV_ARCHITECTURE="$OPTARG" ;;
|
||||
c) ARGV_COMPONENT_NAME="$OPTARG" ;;
|
||||
t) ARGV_RELEASE_TYPE="$OPTARG" ;;
|
||||
*) usage ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$ARGV_FILE" ] || \
|
||||
[ -z "$ARGV_VERSION" ] || \
|
||||
[ -z "$ARGV_ARCHITECTURE" ] || \
|
||||
[ -z "$ARGV_COMPONENT_NAME" ] || \
|
||||
[ -z "$ARGV_RELEASE_TYPE" ]
|
||||
then
|
||||
usage
|
||||
fi
|
||||
|
||||
set +u
|
||||
@ -37,30 +71,24 @@ if [ -z "$BINTRAY_USER" ] || [ -z "$BINTRAY_API_KEY" ]; then
|
||||
fi
|
||||
set -u
|
||||
|
||||
ARGV_FILE=$1
|
||||
PACKAGE_COMPONENT=etcher
|
||||
PACKAGE_DISTRIBUTION=stable
|
||||
if [ "$ARGV_RELEASE_TYPE" == "production" ]; then
|
||||
PACKAGE_DISTRIBUTION=stable
|
||||
elif [ "$ARGV_RELEASE_TYPE" == "snapshot" ]; then
|
||||
PACKAGE_DISTRIBUTION=devel
|
||||
else
|
||||
echo "Invalid release type: $ARGV_RELEASE_TYPE" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PACKAGE_FILE_NAME=$(basename $ARGV_FILE)
|
||||
PACKAGE_NAME=${PACKAGE_FILE_NAME%.*}
|
||||
PACKAGE_VERSION=$(echo $PACKAGE_NAME | cut -d_ -f2 | tr "~" "-")
|
||||
PACKAGE_ARCH=$(echo $PACKAGE_NAME | cut -d_ -f3)
|
||||
|
||||
if [ -z $PACKAGE_VERSION ]; then
|
||||
echo "Couldn't infer the version from the package file name" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z $PACKAGE_ARCH ]; then
|
||||
echo "Couldn't infer the architecture from the package file name" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
curl --upload-file $ARGV_FILE \
|
||||
--user $BINTRAY_USER:$BINTRAY_API_KEY \
|
||||
--header "X-Bintray-Debian-Distribution: $PACKAGE_DISTRIBUTION" \
|
||||
--header "X-Bintray-Debian-Component: $PACKAGE_COMPONENT" \
|
||||
--header "X-Bintray-Debian-Architecture: $PACKAGE_ARCH" \
|
||||
--header "X-Bintray-Debian-Component: $ARGV_COMPONENT_NAME" \
|
||||
--header "X-Bintray-Debian-Architecture: $ARGV_ARCHITECTURE" \
|
||||
--header "X-Bintray-Publish: 1" \
|
||||
https://api.bintray.com/content/resin-io/debian/$PACKAGE_COMPONENT/$PACKAGE_VERSION/$PACKAGE_FILE_NAME
|
||||
https://api.bintray.com/content/resin-io/debian/$ARGV_COMPONENT_NAME/$ARGV_VERSION/$PACKAGE_FILE_NAME
|
||||
|
||||
echo "$ARGV_FILE has been uploaded successfully"
|
||||
|
Loading…
x
Reference in New Issue
Block a user