Browse Source

⬆️ Run `kami` with Go-1.19, Go modules and `GOAMD64=v3` (#7601)

* ⬆️ Bump Go from 1.14 to 1.19 (Dockerfile)

* ♻️ Copy only the sub-directory src in Dockerfile

* 🔥 Drop deprecated non-Go-module stuff

* ⚡️ Set GOAMD64=v3 for AVX2, SSE4.2… instructions

See https://github.com/golang/go/wiki/MinimumRequirements#amd64

* ✨ Use Go modules (`go.mod`)

* 🚚 Move templates to `src` folder

* 👷 Download Go modules at build time
0uep 2 years ago
parent
commit
fb3499b4ad

+ 4 - 9
frameworks/Go/kami/kami.dockerfile

@@ -1,15 +1,10 @@
-FROM golang:1.14
+FROM docker.io/golang:1.19
 
-ADD ./ /kami
+COPY ./src /kami
 WORKDIR /kami
 
-RUN mkdir bin
-ENV GOPATH /kami
-ENV PATH ${GOPATH}/bin:${PATH}
-
-RUN go get github.com/go-sql-driver/mysql
-RUN go get github.com/guregu/kami
+RUN go mod download
 
 EXPOSE 8080
 
-CMD go run src/kami/server.go
+CMD GOAMD64=v3 go run ./kami/server.go

+ 16 - 0
frameworks/Go/kami/src/go.mod

@@ -0,0 +1,16 @@
+module kami
+
+go 1.19
+
+require (
+	github.com/go-sql-driver/mysql v1.6.0
+	github.com/guregu/kami v2.2.1+incompatible
+	golang.org/x/net v0.0.0-20220909164309-bea034e7d591
+)
+
+require (
+	github.com/dimfeld/httptreemux v5.0.1+incompatible // indirect
+	github.com/golang/protobuf v1.3.1 // indirect
+	github.com/zenazn/goji v1.0.1 // indirect
+	google.golang.org/appengine v1.6.7 // indirect
+)

+ 20 - 0
frameworks/Go/kami/src/go.sum

@@ -0,0 +1,20 @@
+github.com/dimfeld/httptreemux v5.0.1+incompatible h1:Qj3gVcDNoOthBAqftuD596rm4wg/adLLz5xh5CmpiCA=
+github.com/dimfeld/httptreemux v5.0.1+incompatible/go.mod h1:rbUlSV+CCpv/SuqUTP/8Bk2O3LyUV436/yaRGkhP6Z0=
+github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
+github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/guregu/kami v2.2.1+incompatible h1:G8vzA3Bx2jnm+AQOHXtHW0vTSQ7tQqfxLc5nuHFtkgI=
+github.com/guregu/kami v2.2.1+incompatible/go.mod h1:EWmehSBHxCbnLPj3XytBR5sht/UebNLwwFYpGcfbptQ=
+github.com/zenazn/goji v1.0.1 h1:4lbD8Mx2h7IvloP7r2C0D6ltZP6Ufip8Hn0wmSK5LR8=
+github.com/zenazn/goji v1.0.1/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
+golang.org/x/net v0.0.0-20220909164309-bea034e7d591 h1:D0B/7al0LLrVC8aWF4+oxpv/m8bc7ViFfVS8/gXGdqI=
+golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
+google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=

+ 0 - 0
frameworks/Go/kami/templates/fortune.html → frameworks/Go/kami/src/templates/fortune.html


+ 0 - 0
frameworks/Go/kami/templates/layout.html → frameworks/Go/kami/src/templates/layout.html