feat: add version to release asset names (#901)
This commit is contained in:
parent
770fe60731
commit
485fd11241
|
@ -5,3 +5,14 @@ template: |
|
|||
## Changes
|
||||
|
||||
$CHANGES
|
||||
version-resolver:
|
||||
major:
|
||||
labels:
|
||||
- 'major'
|
||||
minor:
|
||||
labels:
|
||||
- 'minor'
|
||||
patch:
|
||||
labels:
|
||||
- 'patch'
|
||||
default: patch
|
|
@ -18,8 +18,6 @@ jobs:
|
|||
with:
|
||||
go-version-file: go.mod
|
||||
|
||||
- name: Build
|
||||
run: bash build.sh dist
|
||||
|
||||
- name: "Draft release"
|
||||
id: "release"
|
||||
|
@ -27,12 +25,19 @@ jobs:
|
|||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
VERSION=${{ steps.release.outputs.tag_name }}
|
||||
COMMIT=${GITHUB_SHA::8}
|
||||
export VERSION COMMIT
|
||||
bash build.sh dist
|
||||
|
||||
- name: "Upload release linux-amd64"
|
||||
uses: actions/upload-release-asset@v1
|
||||
with:
|
||||
upload_url: ${{ steps.release.outputs.upload_url }}
|
||||
asset_path: ./bin/redis-shake-linux-amd64.tar.gz
|
||||
asset_name: redis-shake-linux-amd64.tar.gz
|
||||
asset_name: redis-shake-${{ steps.release.outputs.tag_name }}-linux-amd64.tar.gz
|
||||
asset_content_type: application/gzip
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
@ -42,7 +47,7 @@ jobs:
|
|||
with:
|
||||
upload_url: ${{ steps.release.outputs.upload_url }}
|
||||
asset_path: ./bin/redis-shake-linux-arm64.tar.gz
|
||||
asset_name: redis-shake-linux-arm64.tar.gz
|
||||
asset_name: redis-shake-${{ steps.release.outputs.tag_name }}-linux-arm64.tar.gz
|
||||
asset_content_type: application/gzip
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
@ -52,7 +57,7 @@ jobs:
|
|||
with:
|
||||
upload_url: ${{ steps.release.outputs.upload_url }}
|
||||
asset_path: ./bin/redis-shake-darwin-amd64.tar.gz
|
||||
asset_name: redis-shake-darwin-amd64.tar.gz
|
||||
asset_name: redis-shake-${{ steps.release.outputs.tag_name }}-darwin-amd64.tar.gz
|
||||
asset_content_type: application/gzip
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
@ -62,7 +67,7 @@ jobs:
|
|||
with:
|
||||
upload_url: ${{ steps.release.outputs.upload_url }}
|
||||
asset_path: ./bin/redis-shake-darwin-arm64.tar.gz
|
||||
asset_name: redis-shake-darwin-arm64.tar.gz
|
||||
asset_name: redis-shake-${{ steps.release.outputs.tag_name }}-darwin-arm64.tar.gz
|
||||
asset_content_type: application/gzip
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
@ -72,7 +77,7 @@ jobs:
|
|||
with:
|
||||
upload_url: ${{ steps.release.outputs.upload_url }}
|
||||
asset_path: ./bin/redis-shake-windows-amd64.tar.gz
|
||||
asset_name: redis-shake-windows-amd64.tar.gz
|
||||
asset_name: redis-shake-${{ steps.release.outputs.tag_name }}-windows-amd64.tar.gz
|
||||
asset_content_type: application/gzip
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
@ -82,7 +87,7 @@ jobs:
|
|||
with:
|
||||
upload_url: ${{ steps.release.outputs.upload_url }}
|
||||
asset_path: ./bin/redis-shake-windows-arm64.tar.gz
|
||||
asset_name: redis-shake-windows-arm64.tar.gz
|
||||
asset_name: redis-shake-${{ steps.release.outputs.tag_name }}-windows-arm64.tar.gz
|
||||
asset_content_type: application/gzip
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
16
build.sh
16
build.sh
|
@ -9,12 +9,20 @@ mkdir -p "$BIN_DIR"
|
|||
|
||||
cp shake.toml "$BIN_DIR"
|
||||
|
||||
VERSION=${VERSION:-"dev"}
|
||||
if git rev-parse --is-inside-work-tree > /dev/null 2>&1; then
|
||||
COMMIT=${COMMIT:-$(git rev-parse --short HEAD)}
|
||||
else
|
||||
COMMIT=${COMMIT:-"unknown"}
|
||||
fi
|
||||
LDFLAGS=${LDFLAGS:-"-X main.Version=${VERSION} -X main.GitCommit=${COMMIT}"}
|
||||
|
||||
dist() {
|
||||
echo "try build GOOS=$1 GOARCH=$2"
|
||||
export GOOS=$g
|
||||
export GOARCH=$a
|
||||
export GOOS=$1
|
||||
export GOARCH=$2
|
||||
export CGO_ENABLED=0
|
||||
go build -v -trimpath -o "$BIN_DIR/redis-shake" "./cmd/redis-shake"
|
||||
go build -v -trimpath -ldflags "${LDFLAGS}" -o "$BIN_DIR/redis-shake" "./cmd/redis-shake"
|
||||
unset GOOS
|
||||
unset GOARCH
|
||||
echo "build success GOOS=$1 GOARCH=$2"
|
||||
|
@ -35,5 +43,5 @@ fi
|
|||
|
||||
# build the current platform
|
||||
echo "try build for current platform"
|
||||
go build -v -trimpath -o "$BIN_DIR/redis-shake" "./cmd/redis-shake"
|
||||
go build -v -trimpath -ldflags "${LDFLAGS}" -o "$BIN_DIR/redis-shake" "./cmd/redis-shake"
|
||||
echo "build success"
|
||||
|
|
|
@ -18,10 +18,32 @@ import (
|
|||
"RedisShake/internal/utils"
|
||||
"RedisShake/internal/writer"
|
||||
|
||||
"fmt"
|
||||
"runtime"
|
||||
|
||||
"github.com/mcuadros/go-defaults"
|
||||
)
|
||||
|
||||
var (
|
||||
// These variables will be set during build time
|
||||
Version = "unknown"
|
||||
GitCommit = "unknown"
|
||||
)
|
||||
|
||||
func getVersionString() string {
|
||||
return fmt.Sprintf("%s %s/%s (Git SHA: %s)", Version, runtime.GOOS, runtime.GOARCH, GitCommit)
|
||||
}
|
||||
|
||||
func main() {
|
||||
// Add version flag check before config loading
|
||||
if len(os.Args) == 2 && (os.Args[1] == "-v" || os.Args[1] == "--version" || os.Args[1] == "version") {
|
||||
fmt.Printf("redis-shake version %s\n", getVersionString())
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
// Add version info at startup
|
||||
log.Infof("redis-shake version %s", getVersionString())
|
||||
|
||||
v := config.LoadConfig()
|
||||
|
||||
log.Init(config.Opt.Advanced.LogLevel, config.Opt.Advanced.LogFile, config.Opt.Advanced.Dir)
|
||||
|
|
|
@ -17,7 +17,12 @@ def test(src, dst):
|
|||
shake = h.Shake(opts)
|
||||
|
||||
# wait sync done
|
||||
p.ASSERT_TRUE_TIMEOUT(lambda: shake.is_consistent(), timeout=10)
|
||||
try: # HTTPConnectionPool
|
||||
p.ASSERT_TRUE_TIMEOUT(lambda: shake.is_consistent(), timeout=10)
|
||||
except Exception as e:
|
||||
with open(f"{shake.dir}/data/shake.log") as f:
|
||||
p.log(f.read())
|
||||
raise e
|
||||
|
||||
# add data again
|
||||
inserter.add_data(src, cross_slots_cmd=cross_slots_cmd)
|
||||
|
|
Loading…
Reference in New Issue