fork of indigo with slightly nicer lexgen

go v1.22 and alpine v3.19 (#635)

@ericvolp12 I'm not sure why `gocql` was in the dependency tree (`go mod
tidy` removed it). maybe earlier experimentation, or an accidental
commit?

No big rush on this, but the upgrade is pretty easy and feels like we
might as well.

Go v1.22 release notes: https://go.dev/blog/go1.22

The main golang improvements are some smallish perf improvements;
resolved the "for loop" gotcha; range over integers (yay!); concat
slices (finally!); http server pattern matching.

Alpine v3.19 release notes:
https://www.alpinelinux.org/posts/Alpine-3.19.0-released.html

authored by bnewbold.net and committed by GitHub 79c2f8e1 c9117c4a

Changed files
+16 -39
.github
workflows
cmd
beemo
bigsky
hepa
palomar
sonar
supercollider
+2 -2
.github/workflows/golang.yml
··· 19 19 - name: Set up Go tooling 20 20 uses: actions/setup-go@v4 21 21 with: 22 - go-version: "1.21" 22 + go-version: "1.22" 23 23 - name: Build 24 24 run: make build 25 25 - name: Test ··· 32 32 - name: Set up Go tooling 33 33 uses: actions/setup-go@v4 34 34 with: 35 - go-version: "1.21" 35 + go-version: "1.22" 36 36 - name: Lint 37 37 run: make lint
+2 -2
cmd/beemo/Dockerfile
··· 3 3 # podman build -f ./cmd/beemo/Dockerfile -t beemo . 4 4 5 5 ### Compile stage 6 - FROM golang:1.21-alpine3.18 AS build-env 6 + FROM golang:1.22-alpine3.19 AS build-env 7 7 RUN apk add --no-cache build-base make git 8 8 9 9 ADD . /dockerbuild ··· 15 15 go build -tags timetzdata -o /beemo ./cmd/beemo 16 16 17 17 ### Run stage 18 - FROM alpine:3.18 18 + FROM alpine:3.19 19 19 20 20 RUN apk add --no-cache --update dumb-init ca-certificates 21 21 ENTRYPOINT ["dumb-init", "--"]
+2 -2
cmd/bigsky/Dockerfile
··· 3 3 # podman build -f ./cmd/bigsky/Dockerfile -t bigsky . 4 4 5 5 ### Compile stage 6 - FROM golang:1.21-alpine3.18 AS build-env 6 + FROM golang:1.22-alpine3.19 AS build-env 7 7 RUN apk add --no-cache build-base make git 8 8 9 9 ADD . /dockerbuild ··· 26 26 RUN yarn build 27 27 28 28 ### Run stage 29 - FROM alpine:3.18 29 + FROM alpine:3.19 30 30 31 31 RUN apk add --no-cache --update dumb-init ca-certificates runit 32 32 ENTRYPOINT ["dumb-init", "--"]
+2 -2
cmd/hepa/Dockerfile
··· 3 3 # podman build -f ./cmd/hepa/Dockerfile -t hepa . 4 4 5 5 ### Compile stage 6 - FROM golang:1.21-alpine3.18 AS build-env 6 + FROM golang:1.22-alpine3.19 AS build-env 7 7 RUN apk add --no-cache build-base make git 8 8 9 9 ADD . /dockerbuild ··· 15 15 go build -tags timetzdata -o /hepa ./cmd/hepa 16 16 17 17 ### Run stage 18 - FROM alpine:3.18 18 + FROM alpine:3.19 19 19 20 20 RUN apk add --no-cache --update dumb-init ca-certificates 21 21 ENTRYPOINT ["dumb-init", "--"]
+2 -2
cmd/palomar/Dockerfile
··· 3 3 # podman build -f ./cmd/palomar/Dockerfile -t palomar . 4 4 5 5 ### Compile stage 6 - FROM golang:1.21-alpine3.18 AS build-env 6 + FROM golang:1.22-alpine3.19 AS build-env 7 7 RUN apk add --no-cache build-base make git 8 8 9 9 ADD . /dockerbuild ··· 15 15 go build -tags timetzdata -o /palomar ./cmd/palomar 16 16 17 17 ### Run stage 18 - FROM alpine:3.18 18 + FROM alpine:3.19 19 19 20 20 RUN apk add --no-cache --update dumb-init ca-certificates 21 21 ENTRYPOINT ["dumb-init", "--"]
+1 -1
cmd/sonar/Dockerfile
··· 1 1 # Stage 1: Build the Go binary 2 - FROM golang:1.21-alpine AS builder 2 + FROM golang:1.22-alpine3.19 AS builder 3 3 4 4 # Install SSL ca certificates. 5 5 RUN apk update && apk add --no-cache ca-certificates && update-ca-certificates
+1 -1
cmd/supercollider/Dockerfile
··· 1 1 # Stage 1: Build the Go binary 2 - FROM golang:1.21 AS builder 2 + FROM golang:1.22-alpine3.18 AS builder 3 3 4 4 # Create a directory for the application 5 5 WORKDIR /app
+2 -8
go.mod
··· 1 1 module github.com/bluesky-social/indigo 2 2 3 - go 1.21 3 + go 1.22 4 4 5 5 require ( 6 6 contrib.go.opencensus.io/exporter/prometheus v0.4.2 ··· 12 12 github.com/flosch/pongo2/v6 v6.0.0 13 13 github.com/go-redis/cache/v9 v9.0.0 14 14 github.com/goccy/go-json v0.10.2 15 - github.com/gocql/gocql v1.6.0 16 15 github.com/golang-jwt/jwt v3.2.2+incompatible 17 16 github.com/gorilla/websocket v1.5.1 18 17 github.com/hashicorp/go-retryablehttp v0.7.5 ··· 49 48 github.com/redis/go-redis/v9 v9.3.0 50 49 github.com/rivo/uniseg v0.1.0 51 50 github.com/samber/slog-echo v1.8.0 52 - github.com/scylladb/gocqlx/v2 v2.8.1-0.20230309105046-dec046bd85e6 53 51 github.com/stretchr/testify v1.8.4 54 52 github.com/urfave/cli/v2 v2.25.7 55 53 github.com/whyrusleeping/cbor-gen v0.1.1-0.20240311221002-68b9f235c302 ··· 109 107 github.com/gogo/protobuf v1.3.2 // indirect 110 108 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect 111 109 github.com/golang/protobuf v1.5.3 // indirect 112 - github.com/golang/snappy v0.0.4 // indirect 113 110 github.com/google/uuid v1.4.0 // indirect 114 111 github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.1 // indirect 115 - github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect 116 112 github.com/hashicorp/go-cleanhttp v0.5.2 117 113 github.com/ipfs/bbloom v0.0.4 // indirect 118 114 github.com/ipfs/go-blockservice v0.5.2 // indirect ··· 138 134 github.com/lestrrat-go/option v1.0.1 // indirect 139 135 github.com/mattn/go-colorable v0.1.13 // indirect 140 136 github.com/mattn/go-isatty v0.0.20 // indirect 141 - github.com/mattn/go-sqlite3 v1.14.18 // indirect 137 + github.com/mattn/go-sqlite3 v1.14.22 // indirect 142 138 github.com/multiformats/go-base32 v0.1.0 // indirect 143 139 github.com/multiformats/go-base36 v0.2.0 // indirect 144 140 github.com/multiformats/go-multibase v0.2.0 // indirect ··· 151 147 github.com/prometheus/statsd_exporter v0.25.0 // indirect 152 148 github.com/russross/blackfriday/v2 v2.1.0 // indirect 153 149 github.com/samber/lo v1.38.1 // indirect 154 - github.com/scylladb/go-reflectx v1.0.1 // indirect 155 150 github.com/segmentio/asm v1.2.0 // indirect 156 151 github.com/spaolacci/murmur3 v1.1.0 157 152 github.com/valyala/bytebufferpool v1.0.0 // indirect ··· 171 166 google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect 172 167 google.golang.org/grpc v1.59.0 // indirect 173 168 google.golang.org/protobuf v1.31.0 // indirect 174 - gopkg.in/inf.v0 v0.9.1 // indirect 175 169 gopkg.in/yaml.v2 v2.4.0 // indirect 176 170 gopkg.in/yaml.v3 v3.0.1 // indirect 177 171 lukechampine.com/blake3 v1.2.1 // indirect
+2 -19
go.sum
··· 67 67 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= 68 68 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= 69 69 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= 70 - github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY= 71 - github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k= 72 - github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= 73 - github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= 74 70 github.com/brianvoe/gofakeit/v6 v6.25.0 h1:ZpFjktOpLZUeF8q223o0rUuXtA+m5qW5srjvVi+JkXk= 75 71 github.com/brianvoe/gofakeit/v6 v6.25.0/go.mod h1:Xj58BMSnFqcn/fAQeSK+/PLtC5kSb7FJIq4JyGa8vEs= 76 72 github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= ··· 152 148 github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= 153 149 github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= 154 150 github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= 155 - github.com/gocql/gocql v1.6.0 h1:IdFdOTbnpbd0pDhl4REKQDM+Q0SzKXQ1Yh+YZZ8T/qU= 156 - github.com/gocql/gocql v1.6.0/go.mod h1:3gM2c4D3AnkISwBxGnMMsS8Oy4y2lhbPRsH4xnJrHG8= 157 151 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= 158 152 github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= 159 153 github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= ··· 191 185 github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= 192 186 github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= 193 187 github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= 194 - github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= 195 - github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= 196 - github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= 197 188 github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= 198 189 github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= 199 190 github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= ··· 236 227 github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= 237 228 github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.1 h1:6UKoz5ujsI55KNpsJH3UwCq3T8kKbZwNZBNPuTTje8U= 238 229 github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.1/go.mod h1:YvJ2f6MplWDhfxiUC3KpyTy76kYUZA4W3pTv/wdKQ9Y= 239 - github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8= 240 - github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= 241 230 github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= 242 231 github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= 243 232 github.com/hashicorp/go-hclog v0.9.2 h1:CG6TE5H9/JXsFWJCfoIVpKFIkFe6ysEuHirp4DxCsHI= ··· 439 428 github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= 440 429 github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= 441 430 github.com/mattn/go-runewidth v0.0.10/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= 442 - github.com/mattn/go-sqlite3 v1.14.18 h1:JL0eqdCOq6DJVNPSvArO/bIV9/P7fbGrV00LZHc+5aI= 443 - github.com/mattn/go-sqlite3 v1.14.18/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= 431 + github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= 432 + github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= 444 433 github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= 445 434 github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= 446 435 github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= ··· 571 560 github.com/samber/lo v1.38.1/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA= 572 561 github.com/samber/slog-echo v1.8.0 h1:DQQRtAliSvQw+ScEdu5gv3jbHu9cCTzvHuTD8GDv7zI= 573 562 github.com/samber/slog-echo v1.8.0/go.mod h1:0ab2AwcciQXNAXEcjkHwD9okOh9vEHEYn8xP97ocuhM= 574 - github.com/scylladb/go-reflectx v1.0.1 h1:b917wZM7189pZdlND9PbIJ6NQxfDPfBvUaQ7cjj1iZQ= 575 - github.com/scylladb/go-reflectx v1.0.1/go.mod h1:rWnOfDIRWBGN0miMLIcoPt/Dhi2doCMZqwMCJ3KupFc= 576 - github.com/scylladb/gocqlx/v2 v2.8.1-0.20230309105046-dec046bd85e6 h1:f44elFEpX8jdEbOSHb4NCASZFGFOPEIt009XG/JCS90= 577 - github.com/scylladb/gocqlx/v2 v2.8.1-0.20230309105046-dec046bd85e6/go.mod h1:4/+cga34PVqjhgSoo5Nr2fX1MQIqZB5eCE5DK4xeDig= 578 563 github.com/scylladb/termtables v0.0.0-20191203121021-c4c0b6d42ff4/go.mod h1:C1a7PQSMz9NShzorzCiG2fk9+xuCgLkPeCvMHYR2OWg= 579 564 github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys= 580 565 github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= ··· 1072 1057 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= 1073 1058 gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= 1074 1059 gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= 1075 - gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= 1076 - gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= 1077 1060 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= 1078 1061 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= 1079 1062 gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=