fix: download from github if aliyun oss url is invalid

This commit is contained in:
debugtalk
2022-01-24 17:34:23 +08:00
parent a7ab5640c6
commit 406f39eba0
4 changed files with 44 additions and 12 deletions

1
.gitignore vendored
View File

@@ -19,6 +19,7 @@ __debug_bin
.idea/ .idea/
__pycache__ __pycache__
.DS_Store .DS_Store
*.bak
site/ site/
output/ output/

View File

@@ -8,6 +8,11 @@ test: ## run unit tests
@echo "go test -race -v ./..." @echo "go test -race -v ./..."
@go test -race -v ./... @go test -race -v ./...
.PHONY: bump
bump: ## bump hrp version
@echo "[info] bump hrp version"
@. cli/scripts/bump_version.sh $(version)
.PHONY: build .PHONY: build
build: ## build hrp cli tool build: ## build hrp cli tool
@echo "[info] build hrp cli tool" @echo "[info] build hrp cli tool"

View File

@@ -0,0 +1,23 @@
#!/bin/bash
# build hrp cli binary for testing
# release will be triggered on github actions, see .github/workflows/release.yml
# Usage:
# $ make bump version=v0.5.2
# or
# $ bash cli/scripts/bump_version.sh v0.5.2
set -e
version=$1
if [ -z "$version" ]; then
echo "version is required"
exit 1
fi
echo "bump hrp version to $version"
sed -i'.bak' "s/\"v.*\"/\"$version\"/g" internal/version/init.go
echo "bump install.sh version to $version"
sed -i'.bak' "s/LATEST_VERSION=\"v.*\"/LATEST_VERSION=\"$version\"/g" cli/scripts/install.sh

View File

@@ -2,6 +2,8 @@
# install hrp with one shell command # install hrp with one shell command
# bash -c "$(curl -ksSL https://httprunner.oss-cn-beijing.aliyuncs.com/install.sh)" # bash -c "$(curl -ksSL https://httprunner.oss-cn-beijing.aliyuncs.com/install.sh)"
LATEST_VERSION="v0.5.2"
set -e set -e
function echoError() { function echoError() {
@@ -46,14 +48,6 @@ function get_pkg_suffix() {
fi fi
} }
function get_download_url() {
# github
# url="https://github.com/httprunner/hrp/releases/download/$version/$1"
# aliyun oss
url="https://httprunner.oss-cn-beijing.aliyuncs.com/$1"
echo $url
}
function extract_pkg() { function extract_pkg() {
pkg=$1 pkg=$1
if [[ $pkg == *.zip ]]; then # windows if [[ $pkg == *.zip ]]; then # windows
@@ -67,16 +61,25 @@ function extract_pkg() {
function main() { function main() {
echoInfo "Detect target hrp package..." echoInfo "Detect target hrp package..."
version=$(get_latest_version) version=$LATEST_VERSION
echo "Latest version: $version"
os=$(get_os) os=$(get_os)
echo "Current OS: $os" echo "Current OS: $os"
arch=$(get_arch) arch=$(get_arch)
echo "Current ARCH: $arch" echo "Current ARCH: $arch"
pkg_suffix=$(get_pkg_suffix $os) pkg_suffix=$(get_pkg_suffix $os)
pkg="hrp-$version-$os-$arch$pkg_suffix" pkg="hrp-$version-$os-$arch$pkg_suffix"
url=$(get_download_url $pkg)
echo "Selected package: $url" # download from aliyun OSS
url="https://httprunner.oss-cn-beijing.aliyuncs.com/$pkg"
if ! curl --output /dev/null --silent --head --fail "$url"; then
# aliyun OSS url is invalid, try to download from github
version=$(get_latest_version)
pkg="hrp-$version-$os-$arch$pkg_suffix"
url="https://github.com/httprunner/hrp/releases/download/$version/$pkg"
fi
echo "Latest version: $version"
echo "Download url: $url"
echo echo
echoInfo "Created temp dir..." echoInfo "Created temp dir..."