Skip to content

Commit fbbc97b

Browse files
chore: upgrade go version to go1.19 (#46)
* chore: upgrade go version to go1.19 * chore: upgrade github actions
1 parent 38ded5d commit fbbc97b

File tree

6 files changed

+82
-28
lines changed

6 files changed

+82
-28
lines changed

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ jobs:
1313
name: release
1414
steps:
1515
- name: Checkout Code
16-
uses: actions/checkout@v2
16+
uses: actions/checkout@v3
1717

1818
- name: Run GoReleaser
19-
uses: goreleaser/goreleaser-action@v2
19+
uses: goreleaser/goreleaser-action@v3
2020
if: success() && startsWith(github.ref, 'refs/tags/')
2121
with:
2222
version: latest

.github/workflows/test.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,30 +16,30 @@ jobs:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- name: Checkout Code
19-
uses: actions/checkout@v2
19+
uses: actions/checkout@v3
2020

2121
- name: Set up Go
22-
uses: actions/setup-go@v2
22+
uses: actions/setup-go@v3
2323
with:
24-
go-version: 1.15.x
24+
go-version: 1.19.x
2525

2626
- name: Cache
27-
uses: actions/cache@v2
27+
uses: actions/cache@v3
2828
with:
2929
path: |
3030
~/.cache/go-build
3131
~/go/pkg/mod
3232
key: cache-go-${{ runner.os }}-1.15.x-${{ github.run_number }}
3333
restore-keys: |
34-
cache-go-${{ runner.os}}-1.15.x-
34+
cache-go-${{ runner.os}}-1.19.x-
3535
3636
- name: Build
3737
run: make build-all
3838

3939
- name: Lint
4040
uses: golangci/golangci-lint-action@v3
4141
with:
42-
version: v1.45
42+
version: v1.50
4343
skip-pkg-cache: true
4444
skip-build-cache: true
4545

@@ -52,20 +52,20 @@ jobs:
5252
GO111MODULE: on
5353
strategy:
5454
matrix:
55-
os: [ ubuntu-latest, macos-latest, windows-latest ]
56-
go-version: [ 1.16.x, 1.17.x, 1.18.x ]
55+
os: [ubuntu-latest, macos-12, windows-latest]
56+
go-version: [1.17.x, 1.18.x, 1.19.x]
5757
runs-on: ${{ matrix.os }}
5858
steps:
5959
- name: Checkout Code
60-
uses: actions/checkout@v2
60+
uses: actions/checkout@v3
6161

6262
- name: Set up Go ${{ matrix.go-version}}
63-
uses: actions/setup-go@v2
63+
uses: actions/setup-go@v3
6464
with:
6565
go-version: ${{ matrix.go-version}}
6666

6767
- name: Cache
68-
uses: actions/cache@v2
68+
uses: actions/cache@v3
6969
with:
7070
path: |
7171
~/.cache/go-build
@@ -80,7 +80,7 @@ jobs:
8080
run: make test-v
8181

8282
- name: Upload coverage
83-
uses: codecov/codecov-action@v1
83+
uses: codecov/codecov-action@v3
8484
with:
8585
token: ${{ secrets.CODECOV_TOKEN }}
8686
files: .testCoverage.txt

.golangci.yml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ run:
1818
# can use regexp here: generated.*, regexp is applied on full path;
1919
# default value is empty list, but default dirs are skipped independently
2020
# from this option's value (see skip-dirs-use-default).
21-
skip-dirs: [ 'examples', 'internal/mock' ]
21+
skip-dirs: ['examples', 'internal/mock']
2222

2323
# default is true. Enables skipping of directories:
2424
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
@@ -43,10 +43,7 @@ linters:
4343
- staticcheck
4444
- unused
4545
- gosimple
46-
- structcheck
47-
- varcheck
4846
- ineffassign
49-
- deadcode
5047
- typecheck
5148
- goconst
5249
- gofmt
@@ -55,6 +52,4 @@ linters:
5552
- unparam
5653
- exportloopref
5754
- godot
58-
59-
#- scopelint deprecated, use exportloopref instead.
6055
fast: true

logger.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
//go:build go1.16
2+
// +build go1.16
3+
14
package easytcp
25

36
import (
47
"fmt"
5-
"io/ioutil"
8+
"io"
69
"log"
710
"os"
811
)
@@ -26,7 +29,7 @@ func newLogger() *DefaultLogger {
2629

2730
func newMuteLogger() *DefaultLogger {
2831
return &DefaultLogger{
29-
rawLogger: log.New(ioutil.Discard, "easytcp", log.LstdFlags),
32+
rawLogger: log.New(io.Discard, "easytcp", log.LstdFlags),
3033
}
3134
}
3235

logger_before_1.16.go

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
//go:build !go1.16
2+
// +build !go1.16
3+
4+
package easytcp
5+
6+
import (
7+
"fmt"
8+
"io/ioutil"
9+
"log"
10+
"os"
11+
)
12+
13+
var _ Logger = &DefaultLogger{}
14+
15+
// Log is the instance of Logger interface.
16+
var Log Logger = newMuteLogger()
17+
18+
// Logger is the generic interface for log recording.
19+
type Logger interface {
20+
Errorf(format string, args ...interface{})
21+
Tracef(format string, args ...interface{})
22+
}
23+
24+
func newLogger() *DefaultLogger {
25+
return &DefaultLogger{
26+
rawLogger: log.New(os.Stdout, "easytcp ", log.Ldate|log.Ltime|log.Lmicroseconds|log.Lmsgprefix),
27+
}
28+
}
29+
30+
func newMuteLogger() *DefaultLogger {
31+
return &DefaultLogger{
32+
rawLogger: log.New(ioutil.Discard, "easytcp", log.LstdFlags),
33+
}
34+
}
35+
36+
// DefaultLogger is the default logger instance for this package.
37+
// DefaultLogger uses the built-in log.Logger.
38+
type DefaultLogger struct {
39+
rawLogger *log.Logger
40+
}
41+
42+
// Errorf implements Logger Errorf method.
43+
func (d *DefaultLogger) Errorf(format string, args ...interface{}) {
44+
d.rawLogger.Printf("[ERROR] %s", fmt.Sprintf(format, args...))
45+
}
46+
47+
// Tracef implements Logger Tracef method.
48+
func (d *DefaultLogger) Tracef(format string, args ...interface{}) {
49+
d.rawLogger.Printf("[TRACE] %s", fmt.Sprintf(format, args...))
50+
}
51+
52+
// SetLogger sets the package logger.
53+
func SetLogger(lg Logger) {
54+
Log = lg
55+
}

router.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ type HandlerFunc func(ctx Context)
4242
// MiddlewareFunc is the function type for middlewares.
4343
// A common pattern is like:
4444
//
45-
// var mf MiddlewareFunc = func(next HandlerFunc) HandlerFunc {
46-
// return func(ctx Context) {
47-
// next(ctx)
48-
// }
49-
// }
45+
// var mf MiddlewareFunc = func(next HandlerFunc) HandlerFunc {
46+
// return func(ctx Context) {
47+
// next(ctx)
48+
// }
49+
// }
5050
type MiddlewareFunc func(next HandlerFunc) HandlerFunc
5151

5252
var nilHandler HandlerFunc = func(ctx Context) {}
@@ -77,7 +77,8 @@ func (r *Router) handleRequest(ctx Context) {
7777

7878
// wrapHandlers wraps handler and middlewares into a right order call stack.
7979
// Makes something like:
80-
// var wrapped HandlerFunc = m1(m2(m3(handle)))
80+
//
81+
// var wrapped HandlerFunc = m1(m2(m3(handle)))
8182
func (r *Router) wrapHandlers(handler HandlerFunc, middles []MiddlewareFunc) (wrapped HandlerFunc) {
8283
if handler == nil {
8384
handler = r.notFoundHandler

0 commit comments

Comments
 (0)