From db596b13ca95478773ebac9fe7e7307f477e6f8f Mon Sep 17 00:00:00 2001 From: debugtalk Date: Thu, 20 Jan 2022 18:15:53 +0800 Subject: [PATCH 1/4] change: replace download url with aliyun oss --- .github/workflows/release.yml | 7 +++++++ README.md | 4 ++-- cli/scripts/install.sh | 19 ++++++++++++++++--- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ba7c612b..8e8b2bb7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,3 +29,10 @@ jobs: binary_name: "hrp" ldflags: "-s -w" extra_files: LICENSE README.md docs/CHANGELOG.md + - name: Upload to aliyun OSS + uses: manyuanrong/setup-ossutil@v2.0 + with: + endpoint: "oss-cn-beijing.aliyuncs.com" + access-key-id: ${{ secrets.ALIYUN_ACCESSKEY_ID }} + access-key-secret: ${{ secrets.ALIYUN_ACCESSKEY_SECRET }} + - run: ossutil cp -rf cli/scripts/install.sh *.tar.gz *.zip oss://httprunner/ diff --git a/README.md b/README.md index 509de57b..b3a17c04 100644 --- a/README.md +++ b/README.md @@ -30,9 +30,9 @@ You can install `hrp` with one shell command, which will download the latest ver ```bash # install via curl -$ bash -c "$(curl -ksSL https://raw.githubusercontent.com/httprunner/hrp/main/cli/scripts/install.sh)" +$ bash -c "$(curl -ksSL https://httprunner.oss-cn-beijing.aliyuncs.com/install.sh)" # install via wget -$ bash -c "$(wget https://raw.githubusercontent.com/httprunner/hrp/main/cli/scripts/install.sh -O -)" +$ bash -c "$(wget https://httprunner.oss-cn-beijing.aliyuncs.com/install.sh -O -)" ``` If you are a golang developer, you can also install `hrp` with `go get`. diff --git a/cli/scripts/install.sh b/cli/scripts/install.sh index f404b4fa..034eb8dd 100644 --- a/cli/scripts/install.sh +++ b/cli/scripts/install.sh @@ -1,6 +1,6 @@ #!/bin/bash # install hrp with one shell command -# bash -c "$(curl -ksSL https://raw.githubusercontent.com/httprunner/hrp/main/cli/scripts/install.sh)" +# bash -c "$(curl -ksSL https://httprunner.oss-cn-beijing.aliyuncs.com/install.sh)" set -e @@ -24,6 +24,11 @@ function get_latest_version() { curl -sL https://github.com/httprunner/hrp/releases/latest | grep 'Release' | cut -d" " -f4 } +function get_os() { + os=$(uname -s) + echo "$os" | tr '[:upper:]' '[:lower:]' +} + function get_arch() { arch=$(uname -m) if [ "$arch" == "x86_64" ]; then @@ -32,16 +37,24 @@ function get_arch() { echo "$arch" } +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 main() { echoInfo "Detect target hrp package..." version=$(get_latest_version) echo "Latest version: $version" - os=$(uname -s) + os=$(get_os) echo "Current OS: $os" arch=$(get_arch) echo "Current ARCH: $arch" pkg="hrp-$version-$os-$arch.tar.gz" - url="https://github.com/httprunner/hrp/releases/download/$version/$pkg" + url=$(get_download_url $pkg) echo "Selected package: $url" echo From 08817d16b59bb09595eb0c37412716d5a1af112f Mon Sep 17 00:00:00 2001 From: debugtalk <mail@debugtalk.com> Date: Thu, 20 Jan 2022 18:29:00 +0800 Subject: [PATCH 2/4] change: download package assets from aliyun OSS --- .github/workflows/release.yml | 5 +++-- docs/CHANGELOG.md | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8e8b2bb7..c607fbcf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,10 +29,11 @@ jobs: binary_name: "hrp" ldflags: "-s -w" extra_files: LICENSE README.md docs/CHANGELOG.md - - name: Upload to aliyun OSS + - name: Setup aliyun OSS uses: manyuanrong/setup-ossutil@v2.0 with: endpoint: "oss-cn-beijing.aliyuncs.com" access-key-id: ${{ secrets.ALIYUN_ACCESSKEY_ID }} access-key-secret: ${{ secrets.ALIYUN_ACCESSKEY_SECRET }} - - run: ossutil cp -rf cli/scripts/install.sh *.tar.gz *.zip oss://httprunner/ + - name: Upload to aliyun OSS + run: ossutil cp -rf cli/scripts/install.sh *.tar.gz *.zip oss://httprunner/ diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 39453cc7..c859d969 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,5 +1,11 @@ # Release History +## v0.5.3 (2022-01-20) + +- feat: upload released assets to aliyun OSS +- change: download package assets from aliyun OSS +- fix: disable color logging on Windows + ## v0.5.2 (2022-01-19) - feat: support creating and calling custom functions with [hashicorp/go-plugin](https://github.com/hashicorp/go-plugin) From 64d2d75a453fe485af4ae6df019e45e43b6ac089 Mon Sep 17 00:00:00 2001 From: debugtalk <mail@debugtalk.com> Date: Thu, 20 Jan 2022 18:41:54 +0800 Subject: [PATCH 3/4] fix: download pkg on windows --- cli/scripts/install.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cli/scripts/install.sh b/cli/scripts/install.sh index 034eb8dd..3259fe41 100644 --- a/cli/scripts/install.sh +++ b/cli/scripts/install.sh @@ -37,6 +37,15 @@ function get_arch() { echo "$arch" } +function get_pkg_suffix() { + os=$1 + if [ "$os" == "windows" ]; then + echo ".zip" + else + echo ".tar.gz" + fi +} + function get_download_url() { # github # url="https://github.com/httprunner/hrp/releases/download/$version/$1" @@ -53,7 +62,7 @@ function main() { echo "Current OS: $os" arch=$(get_arch) echo "Current ARCH: $arch" - pkg="hrp-$version-$os-$arch.tar.gz" + pkg="hrp-$version-$os-$arch$(get_pkg_suffix $os)" url=$(get_download_url $pkg) echo "Selected package: $url" echo From eca9695b01c06bed4cd14ac761a97efb15b2d112 Mon Sep 17 00:00:00 2001 From: debugtalk <mail@debugtalk.com> Date: Thu, 20 Jan 2022 18:54:56 +0800 Subject: [PATCH 4/4] fix: unzip package on windows --- .github/workflows/release.yml | 2 ++ cli/scripts/install.sh | 17 ++++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c607fbcf..c73f3cc6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,6 +29,8 @@ jobs: binary_name: "hrp" ldflags: "-s -w" extra_files: LICENSE README.md docs/CHANGELOG.md + - name: Test install.sh + run: bash cli/scripts/install.sh - name: Setup aliyun OSS uses: manyuanrong/setup-ossutil@v2.0 with: diff --git a/cli/scripts/install.sh b/cli/scripts/install.sh index 3259fe41..14573cd8 100644 --- a/cli/scripts/install.sh +++ b/cli/scripts/install.sh @@ -54,6 +54,17 @@ function get_download_url() { echo $url } +function extract_pkg() { + pkg=$1 + if [[ $pkg == *.zip ]]; then # windows + echo "$ unzip -o $pkg -d ." + unzip -o $pkg -d . + else + echo "$ tar -xzf $pkg" + tar -xzf "$pkg" + fi +} + function main() { echoInfo "Detect target hrp package..." version=$(get_latest_version) @@ -62,7 +73,8 @@ function main() { echo "Current OS: $os" arch=$(get_arch) echo "Current ARCH: $arch" - pkg="hrp-$version-$os-$arch$(get_pkg_suffix $os)" + pkg_suffix=$(get_pkg_suffix $os) + pkg="hrp-$version-$os-$arch$pkg_suffix" url=$(get_download_url $pkg) echo "Selected package: $url" echo @@ -80,8 +92,7 @@ function main() { echo echoInfo "Extracting..." - echo "$ tar -xzf $pkg" - tar -xzf "$pkg" + extract_pkg "$pkg" echo "$ ls -lh" ls -lh echo