chore: add release action to auto build binaries (#1884)

* chore: add release action to auto build binaries

Signed-off-by: chenquan <chenquan.dev@gmail.com>

* fix: test bugs

Signed-off-by: chenquan <chenquan.dev@gmail.com>
master
chen quan 3 years ago committed by GitHub
parent 72ebbb9774
commit fd12659729
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,29 @@
on:
release:
types: [ created ]
jobs:
releases-matrix:
name: Release goctl binary
if: startsWith(github.ref, 'refs/tags/tools/goctl/')
runs-on: ubuntu-latest
strategy:
matrix:
# build and publish in parallel: linux/386, linux/amd64, linux/arm64,
# windows/386, windows/amd64, windows/arm64, darwin/amd64, darwin/arm64
goos: [ linux, windows, darwin ]
goarch: [ "386", amd64, arm64 ]
exclude:
- goarch: "386"
goos: darwin
steps:
- uses: actions/checkout@v2
- uses: zeromicro/go-zero-release-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
goos: ${{ matrix.goos }}
goarch: ${{ matrix.goarch }}
goversion: "https://dl.google.com/go/go1.17.5.linux-amd64.tar.gz"
project_path: "tools/goctl"
binary_name: "goctl"
extra_files: tools/goctl/goctl.md

@ -18,7 +18,11 @@ func TestTraceLog(t *testing.T) {
SetLevel(InfoLevel) SetLevel(InfoLevel)
w := new(mockWriter) w := new(mockWriter)
old := writer.Swap(w) old := writer.Swap(w)
defer writer.Store(old) writer.lock.RLock()
defer func() {
writer.lock.RUnlock()
writer.Store(old)
}()
otp := otel.GetTracerProvider() otp := otel.GetTracerProvider()
tp := sdktrace.NewTracerProvider(sdktrace.WithSampler(sdktrace.AlwaysSample())) tp := sdktrace.NewTracerProvider(sdktrace.WithSampler(sdktrace.AlwaysSample()))
@ -35,7 +39,11 @@ func TestTraceLog(t *testing.T) {
func TestTraceError(t *testing.T) { func TestTraceError(t *testing.T) {
w := new(mockWriter) w := new(mockWriter)
old := writer.Swap(w) old := writer.Swap(w)
defer writer.Store(old) writer.lock.RLock()
defer func() {
writer.lock.RUnlock()
writer.Store(old)
}()
otp := otel.GetTracerProvider() otp := otel.GetTracerProvider()
tp := sdktrace.NewTracerProvider(sdktrace.WithSampler(sdktrace.AlwaysSample())) tp := sdktrace.NewTracerProvider(sdktrace.WithSampler(sdktrace.AlwaysSample()))
@ -49,7 +57,7 @@ func TestTraceError(t *testing.T) {
l := WithContext(context.Background()) l := WithContext(context.Background())
l = l.WithContext(nilCtx) l = l.WithContext(nilCtx)
l = l.WithContext(ctx) l = l.WithContext(ctx)
SetLevel(InfoLevel) SetLevel(ErrorLevel)
l.WithDuration(time.Second).Error(testlog) l.WithDuration(time.Second).Error(testlog)
validate(t, w.String(), true, true) validate(t, w.String(), true, true)
w.Reset() w.Reset()
@ -61,6 +69,7 @@ func TestTraceError(t *testing.T) {
validate(t, w.String(), true, true) validate(t, w.String(), true, true)
w.Reset() w.Reset()
l.WithDuration(time.Second).Errorw(testlog, Field("foo", "bar")) l.WithDuration(time.Second).Errorw(testlog, Field("foo", "bar"))
fmt.Println(w.String())
validate(t, w.String(), true, true) validate(t, w.String(), true, true)
assert.True(t, strings.Contains(w.String(), "foo"), w.String()) assert.True(t, strings.Contains(w.String(), "foo"), w.String())
assert.True(t, strings.Contains(w.String(), "bar"), w.String()) assert.True(t, strings.Contains(w.String(), "bar"), w.String())
@ -69,7 +78,11 @@ func TestTraceError(t *testing.T) {
func TestTraceInfo(t *testing.T) { func TestTraceInfo(t *testing.T) {
w := new(mockWriter) w := new(mockWriter)
old := writer.Swap(w) old := writer.Swap(w)
defer writer.Store(old) writer.lock.RLock()
defer func() {
writer.lock.RUnlock()
writer.Store(old)
}()
otp := otel.GetTracerProvider() otp := otel.GetTracerProvider()
tp := sdktrace.NewTracerProvider(sdktrace.WithSampler(sdktrace.AlwaysSample())) tp := sdktrace.NewTracerProvider(sdktrace.WithSampler(sdktrace.AlwaysSample()))
@ -102,7 +115,11 @@ func TestTraceInfoConsole(t *testing.T) {
w := new(mockWriter) w := new(mockWriter)
o := writer.Swap(w) o := writer.Swap(w)
defer writer.Store(o) writer.lock.RLock()
defer func() {
writer.lock.RUnlock()
writer.Store(o)
}()
otp := otel.GetTracerProvider() otp := otel.GetTracerProvider()
tp := sdktrace.NewTracerProvider(sdktrace.WithSampler(sdktrace.AlwaysSample())) tp := sdktrace.NewTracerProvider(sdktrace.WithSampler(sdktrace.AlwaysSample()))
@ -127,7 +144,11 @@ func TestTraceInfoConsole(t *testing.T) {
func TestTraceSlow(t *testing.T) { func TestTraceSlow(t *testing.T) {
w := new(mockWriter) w := new(mockWriter)
old := writer.Swap(w) old := writer.Swap(w)
defer writer.Store(old) writer.lock.RLock()
defer func() {
writer.lock.RUnlock()
writer.Store(old)
}()
otp := otel.GetTracerProvider() otp := otel.GetTracerProvider()
tp := sdktrace.NewTracerProvider(sdktrace.WithSampler(sdktrace.AlwaysSample())) tp := sdktrace.NewTracerProvider(sdktrace.WithSampler(sdktrace.AlwaysSample()))
@ -159,7 +180,11 @@ func TestTraceSlow(t *testing.T) {
func TestTraceWithoutContext(t *testing.T) { func TestTraceWithoutContext(t *testing.T) {
w := new(mockWriter) w := new(mockWriter)
old := writer.Swap(w) old := writer.Swap(w)
defer writer.Store(old) writer.lock.RLock()
defer func() {
writer.lock.RUnlock()
writer.Store(old)
}()
l := WithContext(context.Background()) l := WithContext(context.Background())
SetLevel(InfoLevel) SetLevel(InfoLevel)

Loading…
Cancel
Save