From c04308299daae761937a5bdcd9a662c4a8dd8c60 Mon Sep 17 00:00:00 2001 From: Jacek Olszak Date: Tue, 6 Oct 2026 22:14:53 +0200 Subject: [PATCH 1/3] chore: bump ebitengine to v2.10.4 --- go.mod | 16 ++++++++-------- go.sum | 32 ++++++++++++++++---------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/go.mod b/go.mod index 4016a24..1d18cc5 100644 --- a/go.mod +++ b/go.mod @@ -1,21 +1,21 @@ module github.com/elgopher/pi -go 1.24.2 +go 1.25.0 require ( - github.com/hajimehoshi/ebiten/v2 v2.9.2 + github.com/hajimehoshi/ebiten/v2 v2.10.4 github.com/shirou/gopsutil/v4 v4.25.9 github.com/stretchr/testify v1.11.1 ) require ( github.com/davecgh/go-spew v1.1.1 // indirect - github.com/ebitengine/gomobile v0.0.0-20250923094054-ea854a63cce1 // indirect + github.com/ebitengine/gomobile v0.0.0-20260820040257-d11f821a26a6 // indirect github.com/ebitengine/hideconsole v1.0.0 // indirect - github.com/ebitengine/oto/v3 v3.4.0 // indirect - github.com/ebitengine/purego v0.9.0 // indirect + github.com/ebitengine/oto/v3 v3.5.0 // indirect + github.com/ebitengine/purego v0.11.0 // indirect github.com/go-ole/go-ole v1.3.0 // indirect - github.com/jezek/xgb v1.1.1 // indirect + github.com/jfreymuth/pulse v0.1.3 // indirect github.com/lufia/plan9stats v0.0.0-20250317134145-8bc96cf8fc35 // indirect github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect github.com/pmezard/go-difflib v1.0.0 // indirect @@ -23,8 +23,8 @@ require ( github.com/tklauser/go-sysconf v0.3.15 // indirect github.com/tklauser/numcpus v0.10.0 // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect - golang.org/x/sync v0.17.0 // indirect - golang.org/x/sys v0.36.0 // indirect + golang.org/x/sync v0.22.0 // indirect + golang.org/x/sys v0.47.0 // indirect gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index d4ea104..dbf93e8 100644 --- a/go.sum +++ b/go.sum @@ -1,22 +1,22 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/ebitengine/gomobile v0.0.0-20250923094054-ea854a63cce1 h1:+kz5iTT3L7uU+VhlMfTb8hHcxLO3TlaELlX8wa4XjA0= -github.com/ebitengine/gomobile v0.0.0-20250923094054-ea854a63cce1/go.mod h1:lKJoeixeJwnFmYsBny4vvCJGVFc3aYDalhuDsfZzWHI= +github.com/ebitengine/gomobile v0.0.0-20260820040257-d11f821a26a6 h1:Tnc3YtzxhgsvNdNrER9wWkGJbyjOwyUuzjUY5rZK72k= +github.com/ebitengine/gomobile v0.0.0-20260820040257-d11f821a26a6/go.mod h1:gwnFEwdzWZpNehgwkeK4756Ez58f58bXz6bgEAq+xqk= github.com/ebitengine/hideconsole v1.0.0 h1:5J4U0kXF+pv/DhiXt5/lTz0eO5ogJ1iXb8Yj1yReDqE= github.com/ebitengine/hideconsole v1.0.0/go.mod h1:hTTBTvVYWKBuxPr7peweneWdkUwEuHuB3C1R/ielR1A= -github.com/ebitengine/oto/v3 v3.4.0 h1:br0PgASsEWaoWn38b2Goe7m1GKFYfNgnsjSd5Gg+/bQ= -github.com/ebitengine/oto/v3 v3.4.0/go.mod h1:IOleLVD0m+CMak3mRVwsYY8vTctQgOM0iiL6S7Ar7eI= -github.com/ebitengine/purego v0.9.0 h1:mh0zpKBIXDceC63hpvPuGLiJ8ZAa3DfrFTudmfi8A4k= -github.com/ebitengine/purego v0.9.0/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= +github.com/ebitengine/oto/v3 v3.5.0 h1:8ZDhKP3Hhslyb9NL3g4HWvhRQqwI+hKOHAXAqD6GPXs= +github.com/ebitengine/oto/v3 v3.5.0/go.mod h1:Elkm7yzTRns3w2efvibzVOoQ65YOwmec9a76dCiK10o= +github.com/ebitengine/purego v0.11.0 h1:jhp/D+Nyv7UUW8HAcmcjt2N2rYrYi9m3SL21k0Ua/NI= +github.com/ebitengine/purego v0.11.0/go.mod h1:DCHPP08djqhNSoTfImcnHYQRZmd0qhakvrozqaEYhGQ= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= -github.com/hajimehoshi/ebiten/v2 v2.9.2 h1:fV9Wh8dL4gSV62s/oygCIckEJ2MPpJRaUiwj6GR4Uos= -github.com/hajimehoshi/ebiten/v2 v2.9.2/go.mod h1:DAt4tnkYYpCvu3x9i1X/nK/vOruNXIlYq/tBXxnhrXM= -github.com/jezek/xgb v1.1.1 h1:bE/r8ZZtSv7l9gk6nU0mYx51aXrvnyb44892TwSaqS4= -github.com/jezek/xgb v1.1.1/go.mod h1:nrhwO0FX/enq75I7Y7G8iN1ubpSGZEiA3v9e9GyRFlk= +github.com/hajimehoshi/ebiten/v2 v2.10.4 h1:9O8C98SB605F7gs8MHQQZIHTVpgIvatgdd19VCY6ZPg= +github.com/hajimehoshi/ebiten/v2 v2.10.4/go.mod h1:47QNgyS/y2ZRkjVUvlGLx8a+F7MSjcn8/GsjcCZ9Rc8= +github.com/jfreymuth/pulse v0.1.3 h1:bc5TdxiB8E+2INnFjFWWgyfgXtz2IyNNNCX+Wt/ZD14= +github.com/jfreymuth/pulse v0.1.3/go.mod h1:cpYspI6YljhkUf1WLXLLDmeaaPFc3CnGLjDZf9dZ4no= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -38,15 +38,15 @@ github.com/tklauser/numcpus v0.10.0 h1:18njr6LDBk1zuna922MgdjQuJFjrdppsZG60sHGfj github.com/tklauser/numcpus v0.10.0/go.mod h1:BiTKazU708GQTYF4mB+cmlpT2Is1gLk7XVuEeem8LsQ= github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -golang.org/x/image v0.31.0 h1:mLChjE2MV6g1S7oqbXC0/UcKijjm5fnJLUYKIYrLESA= -golang.org/x/image v0.31.0/go.mod h1:R9ec5Lcp96v9FTF+ajwaH3uGxPH4fKfHHAVbUILxghA= -golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= -golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/image v0.45.0 h1:FMb1nTbH5H9vF55SriQHgFw5GnNL9Jg6L25BwXKzhB0= +golang.org/x/image v0.45.0/go.mod h1:n62x/7RqlwXDvGsSU4u6IUTUf6KghUZ9Bt7cG/T9Fx4= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= -golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From a23fecbac0460b53244638409d5bbffda84604be Mon Sep 17 00:00:00 2001 From: Jacek Olszak Date: Tue, 6 Oct 2026 22:31:13 +0200 Subject: [PATCH 2/3] chore: bump golangci linter --- .github/workflows/build.yml | 4 ++-- .golangci.yaml | 1 - colortable.go | 2 +- palette.go | 2 +- palettemap.go | 2 +- surface.go | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index afe415d..d17583b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -64,10 +64,10 @@ jobs: GOOS=js GOARCH=wasm go test -v ./... - name: Lint - uses: golangci/golangci-lint-action@v8 + uses: golangci/golangci-lint-action@v9 with: args: "-v" - version: v2.2.1 + version: v2.14.0 - name: Generate coverage report run: go test -v -coverprofile coverage.txt -covermode atomic -coverpkg ./... ./... diff --git a/.golangci.yaml b/.golangci.yaml index 0f6cdee..be2f7af 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -51,7 +51,6 @@ linters: - noctx - nolintlint - perfsprint - - prealloc - reassign - recvcheck - revive diff --git a/colortable.go b/colortable.go index b8886e3..23cba56 100644 --- a/colortable.go +++ b/colortable.go @@ -27,7 +27,7 @@ type ColorTable [MaxColors][MaxColors]Color func (p ColorTable) String() string { var s strings.Builder for i := 0; i < len(p); i++ { - s.WriteString(fmt.Sprintf("%d :%v\n", i, p[i])) + _, _ = fmt.Fprintf(&s, "%d :%v\n", i, p[i]) } return s.String() } diff --git a/palette.go b/palette.go index 39b6c4d..4d64983 100644 --- a/palette.go +++ b/palette.go @@ -31,7 +31,7 @@ func (p PaletteArray) String() string { var s strings.Builder s.WriteString("{") for i := 0; i < len(p); i++ { - s.WriteString(fmt.Sprintf("%d:%v, ", i, p[i])) + _, _ = fmt.Fprintf(&s, "%d:%v, ", i, p[i]) } s.WriteString("}") return s.String() diff --git a/palettemap.go b/palettemap.go index 9c4b65d..8bc7038 100644 --- a/palettemap.go +++ b/palettemap.go @@ -25,7 +25,7 @@ func (p PaletteMap) String() string { var s strings.Builder s.WriteString("{") for i := 0; i < len(p); i++ { - s.WriteString(fmt.Sprintf("%d:%v, ", i, p[i])) + _, _ = fmt.Fprintf(&s, "%d:%v, ", i, p[i]) } s.WriteString("}") return s.String() diff --git a/surface.go b/surface.go index 16859eb..563fc7c 100644 --- a/surface.go +++ b/surface.go @@ -55,7 +55,7 @@ type Surface[T any] struct { func (m Surface[T]) String() string { var b strings.Builder for _, line := range m.LinesIterator(m.EntireArea()) { // escapes to heap - b.WriteString(fmt.Sprintf("%+v", line)) + _, _ = fmt.Fprintf(&b, "%+v", line) b.WriteByte('\n') } return b.String() From 1815f5c3cba42a3e890ee786f5431ba42e715ea8 Mon Sep 17 00:00:00 2001 From: Jacek Olszak Date: Tue, 6 Oct 2026 22:40:46 +0200 Subject: [PATCH 3/3] Set minimal version of Go to 1.25 --- .github/workflows/build.yml | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d17583b..935dfe1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - go: [ "1.24" ] + go: [ "1.25" ] env: DISPLAY: ':99.0' steps: diff --git a/README.md b/README.md index e50bf35..8a5f990 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ Because it's probably the easiest and most fun way to write a game in Go. No com ## How to get started? 1. Install dependencies - * [Go 1.24+][go-downloads] + * [Go 1.25+][go-downloads] * If you are not on Windows, install additional dependencies for: * [Linux](docs/install-linux.md) * [macOS](docs/install-macos.md)