diff --git a/README.md b/README.md index 6df3c7dd..66b3b175 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ Let's examine the `config.yaml` fields so you will feel more comfortable editing | output_binary | /app | output binary artifact inside the runtime container | | build_command | go build -o {{.output_binary}} | build command inside the runtime container. Note you can reference other configuration fields. When enabling Debugger `-gcflags="all=-N -l"` will be appended to the build command to stop compiler optimization and symbol removing | | run_command | {.output_binary}} | run command, probably most of the time will just be the binary artifact path | -| runtime_image | golang:1.17 | base Docker image for the runtime container | +| runtime_image | golang:1.18 | base Docker image for the runtime container | | debugger_enabled | false | whether to enable delve debugger inside the container or just use hot-reload | | debugger_port | 40000 | delve debugger listen port, relevant only if `debugger_enabled` was set | | expose_ports | [] | list of ports to expose inside the container. Uses the same syntax as docker-compose for mapping between host and container ports(e.g: "8080:8080"). No need to add the delve debugger listen port as it will be auto-added | diff --git a/doc.go b/doc.go index fe83aef6..9ec1be1a 100644 --- a/doc.go +++ b/doc.go @@ -22,7 +22,7 @@ Configurations output_binary - output binary artifact inside the runtime container (default: "/app") build_command - build command inside the runtime container (default: "go build -o {{.output_binary}}") run_command - run command, probably most of the time will just be the binary artifact path (default: "{.output_binary}}") - runtime_image - base Docker image for the runtime container (default: "golang:1.17") + runtime_image - base Docker image for the runtime container (default: "golang:1.18") debugger_enabled - whether to enable delve debugger inside the container or just use hot-reload (default: false) debugger_port - delve debugger listen port, relevant only if debugger_enabled was set (default: 40000) expose_ports - list of ports to expose inside the container (default: []) diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index 21244627..7a9ecdaa 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -21,7 +21,7 @@ func TestConfig_Load(t *testing.T) { name: my-app output_binary: /app build_command: go build -o {{.output_binary}} -gcflags="all=-N-l" -runtime_image: golang:1.17 +runtime_image: golang:1.18 run_command: '{{.output_binary}}' debugger_port: 40000 expose_ports: @@ -32,7 +32,7 @@ expose_ports: OutputBinaryPath: "/app", BuildCommand: `go build -o /app -gcflags="all=-N-l"`, RunCommand: "/app", - RuntimeImage: "golang:1.17", + RuntimeImage: "golang:1.18", DebuggerPort: 40000, ExposePorts: []string{"8080:8080"}, }, @@ -43,7 +43,7 @@ expose_ports: name: my-app output_binary: /app build_command: go build -o {{.output_binary}} -gcflags="all=-N-l" -runtime_image: golang:1.17 +runtime_image: golang:1.18 run_command: '{{.output_binary}}' debugger_port: 40000 expose_ports: @@ -54,7 +54,7 @@ expose_ports: OutputBinaryPath: "/app", BuildCommand: `go build -o /app -gcflags="all=-N-l"`, RunCommand: "/app", - RuntimeImage: "golang:1.17", + RuntimeImage: "golang:1.18", DebuggerPort: 40000, ExposePorts: []string{"8080:8080"}, }, @@ -123,7 +123,7 @@ func TestConfig_Write(t *testing.T) { BuildCommand: "go build -o /app -gcflags=\"all=-N-l\"", BuildDir: "/app", RunCommand: "/app", - RuntimeImage: "golang:1.17", + RuntimeImage: "golang:1.18", DebuggerPort: 40000, DebuggerEnabled: true, ExposePorts: []string{"8080", "8081:8081"}, @@ -133,7 +133,7 @@ output_binary: /app build_command: go build -o /app -gcflags="all=-N-l" build_dir: /app run_command: /app -runtime_image: golang:1.17 +runtime_image: golang:1.18 debugger_enabled: true debugger_port: 40000 expose_ports: diff --git a/pkg/config/render.go b/pkg/config/render.go index af897651..e8ad42b7 100644 --- a/pkg/config/render.go +++ b/pkg/config/render.go @@ -73,8 +73,8 @@ networks: // RenderDockerfile writes the Dockerfile to writer func (c *Config) RenderDockerfile(writer io.Writer) error { return c.renderedWrite(`FROM {{.RuntimeImage}} -RUN go get github.com/githubnemo/CompileDaemon -RUN go get github.com/go-delve/delve/cmd/dlv +RUN go install github.com/githubnemo/CompileDaemon@latest +RUN go install github.com/go-delve/delve/cmd/dlv@latest {{- if .PreRunCommands}}{{range .PreRunCommands}} RUN {{.}}{{end}}{{end}} diff --git a/pkg/config/render_test.go b/pkg/config/render_test.go index 74e8ee09..77167a0a 100644 --- a/pkg/config/render_test.go +++ b/pkg/config/render_test.go @@ -12,7 +12,7 @@ var mockConfig = &Config{ OutputBinaryPath: "/app", BuildCommand: "go build", RunCommand: "/app", - RuntimeImage: "golang:1.17", + RuntimeImage: "golang:1.18", DebuggerEnabled: false, DebuggerPort: 0, ExposePorts: []string{"8080"}, @@ -88,9 +88,9 @@ func TestConfig_RenderDockerfile(t *testing.T) { err := mockConfig.RenderDockerfile(out) assert.NoError(t, err) assert.Equal(t, - `FROM golang:1.17 -RUN go get github.com/githubnemo/CompileDaemon -RUN go get github.com/go-delve/delve/cmd/dlv + `FROM golang:1.18 +RUN go install github.com/githubnemo/CompileDaemon@latest +RUN go install github.com/go-delve/delve/cmd/dlv@latest WORKDIR /src COPY . . diff --git a/pkg/config/testdata/generate_docker_compose_0.in b/pkg/config/testdata/generate_docker_compose_0.in index 626fa09b..d6d35c60 100644 --- a/pkg/config/testdata/generate_docker_compose_0.in +++ b/pkg/config/testdata/generate_docker_compose_0.in @@ -1,7 +1,7 @@ name: my-app output_binary: /app build_command: go build -o {{.output_binary}} -runtime_image: golang:1.17 +runtime_image: golang:1.18 run_command: '{{.output_binary}}' debugger_port: 40000 debugger_enabled: true diff --git a/pkg/config/testdata/generate_docker_compose_1.in b/pkg/config/testdata/generate_docker_compose_1.in index f3a0c229..cf366683 100644 --- a/pkg/config/testdata/generate_docker_compose_1.in +++ b/pkg/config/testdata/generate_docker_compose_1.in @@ -1,7 +1,7 @@ name: my-app output_binary: /app build_command: go build -o {{.output_binary}} -runtime_image: golang:1.17 +runtime_image: golang:1.18 run_command: '{{.output_binary}}' debugger_port: 40000 debugger_enabled: false diff --git a/pkg/config/testdata/generate_docker_compose_2.in b/pkg/config/testdata/generate_docker_compose_2.in index ef4de3af..edf2d680 100644 --- a/pkg/config/testdata/generate_docker_compose_2.in +++ b/pkg/config/testdata/generate_docker_compose_2.in @@ -1,7 +1,7 @@ name: my-app output_binary: /app build_command: go build -o {{.output_binary}} -runtime_image: golang:1.17 +runtime_image: golang:1.18 run_command: '{{.output_binary}}' debugger_port: 40000 debugger_enabled: false diff --git a/pkg/config/testdata/generate_docker_compose_3.in b/pkg/config/testdata/generate_docker_compose_3.in index b5513570..beef10e2 100644 --- a/pkg/config/testdata/generate_docker_compose_3.in +++ b/pkg/config/testdata/generate_docker_compose_3.in @@ -1,7 +1,7 @@ name: my-app output_binary: /app build_command: go build -o {{.output_binary}} -runtime_image: golang:1.17 +runtime_image: golang:1.18 run_command: '{{.output_binary}}' debugger_port: 40000 debugger_enabled: false diff --git a/pkg/config/testdata/generate_docker_compose_4.in b/pkg/config/testdata/generate_docker_compose_4.in index 5aaad13f..be125e0d 100644 --- a/pkg/config/testdata/generate_docker_compose_4.in +++ b/pkg/config/testdata/generate_docker_compose_4.in @@ -2,7 +2,7 @@ name: my-app output_binary: /app build_command: go build -o {{.output_binary}} run_command: '{{.output_binary}}' -runtime_image: golang:1.17 +runtime_image: golang:1.18 debugger_enabled: true debugger_port: 40000 expose_ports: [] diff --git a/pkg/config/testdata/generate_dockerfile_0.golden b/pkg/config/testdata/generate_dockerfile_0.golden index c1ffc301..1366ee74 100644 --- a/pkg/config/testdata/generate_dockerfile_0.golden +++ b/pkg/config/testdata/generate_dockerfile_0.golden @@ -1,6 +1,6 @@ -FROM golang:1.17 -RUN go get github.com/githubnemo/CompileDaemon -RUN go get github.com/go-delve/delve/cmd/dlv +FROM golang:1.18 +RUN go install github.com/githubnemo/CompileDaemon@latest +RUN go install github.com/go-delve/delve/cmd/dlv@latest WORKDIR /src COPY . . diff --git a/pkg/config/testdata/generate_dockerfile_0.in b/pkg/config/testdata/generate_dockerfile_0.in index 626fa09b..d6d35c60 100644 --- a/pkg/config/testdata/generate_dockerfile_0.in +++ b/pkg/config/testdata/generate_dockerfile_0.in @@ -1,7 +1,7 @@ name: my-app output_binary: /app build_command: go build -o {{.output_binary}} -runtime_image: golang:1.17 +runtime_image: golang:1.18 run_command: '{{.output_binary}}' debugger_port: 40000 debugger_enabled: true diff --git a/pkg/config/testdata/generate_dockerfile_1.golden b/pkg/config/testdata/generate_dockerfile_1.golden index 2ab41a7d..f38e5422 100644 --- a/pkg/config/testdata/generate_dockerfile_1.golden +++ b/pkg/config/testdata/generate_dockerfile_1.golden @@ -1,6 +1,6 @@ -FROM golang:1.17 -RUN go get github.com/githubnemo/CompileDaemon -RUN go get github.com/go-delve/delve/cmd/dlv +FROM golang:1.18 +RUN go install github.com/githubnemo/CompileDaemon@latest +RUN go install github.com/go-delve/delve/cmd/dlv@latest WORKDIR /src COPY . . diff --git a/pkg/config/testdata/generate_dockerfile_1.in b/pkg/config/testdata/generate_dockerfile_1.in index f3a0c229..cf366683 100644 --- a/pkg/config/testdata/generate_dockerfile_1.in +++ b/pkg/config/testdata/generate_dockerfile_1.in @@ -1,7 +1,7 @@ name: my-app output_binary: /app build_command: go build -o {{.output_binary}} -runtime_image: golang:1.17 +runtime_image: golang:1.18 run_command: '{{.output_binary}}' debugger_port: 40000 debugger_enabled: false diff --git a/pkg/config/testdata/generate_dockerfile_2.golden b/pkg/config/testdata/generate_dockerfile_2.golden index 60a0cb1f..9b736ed2 100644 --- a/pkg/config/testdata/generate_dockerfile_2.golden +++ b/pkg/config/testdata/generate_dockerfile_2.golden @@ -1,6 +1,6 @@ -FROM golang:1.17 -RUN go get github.com/githubnemo/CompileDaemon -RUN go get github.com/go-delve/delve/cmd/dlv +FROM golang:1.18 +RUN go install github.com/githubnemo/CompileDaemon@latest +RUN go install github.com/go-delve/delve/cmd/dlv@latest WORKDIR /src COPY . . diff --git a/pkg/config/testdata/generate_dockerfile_2.in b/pkg/config/testdata/generate_dockerfile_2.in index 9c75db0c..94148803 100644 --- a/pkg/config/testdata/generate_dockerfile_2.in +++ b/pkg/config/testdata/generate_dockerfile_2.in @@ -2,7 +2,7 @@ name: my-app output_binary: /app build_command: go build -o {{.output_binary}} build_dir: /src -runtime_image: golang:1.17 +runtime_image: golang:1.18 run_command: '{{.output_binary}}' debugger_port: 40000 debugger_enabled: false diff --git a/pkg/config/testdata/generate_dockerfile_3.golden b/pkg/config/testdata/generate_dockerfile_3.golden index d4099171..d30fe894 100644 --- a/pkg/config/testdata/generate_dockerfile_3.golden +++ b/pkg/config/testdata/generate_dockerfile_3.golden @@ -1,6 +1,6 @@ -FROM golang:1.17 -RUN go get github.com/githubnemo/CompileDaemon -RUN go get github.com/go-delve/delve/cmd/dlv +FROM golang:1.18 +RUN go install github.com/githubnemo/CompileDaemon@latest +RUN go install github.com/go-delve/delve/cmd/dlv@latest RUN echo "hello" && echo "world" RUN ls WORKDIR /src diff --git a/pkg/config/testdata/generate_dockerfile_3.in b/pkg/config/testdata/generate_dockerfile_3.in index 6cae7c96..290adc84 100644 --- a/pkg/config/testdata/generate_dockerfile_3.in +++ b/pkg/config/testdata/generate_dockerfile_3.in @@ -5,7 +5,7 @@ pre_run_commands: - ls build_command: go build -o {{.output_binary}} build_dir: /src -runtime_image: golang:1.17 +runtime_image: golang:1.18 run_command: '{{.output_binary}}' debugger_port: 40000 debugger_enabled: false diff --git a/pkg/input/input.go b/pkg/input/input.go index b06754f7..92cf9eb1 100644 --- a/pkg/input/input.go +++ b/pkg/input/input.go @@ -27,7 +27,7 @@ func LoadOrDefault(workDir string) (*config.Config, bool) { OutputBinaryPath: "/app", BuildCommand: `go build -o {{.output_binary}}`, RunCommand: `{{.output_binary}}`, - RuntimeImage: "golang:1.17", + RuntimeImage: "golang:1.18", } configFilePath := config.FilePath(workDir, config.Path) diff --git a/webui/Dockerfile b/webui/Dockerfile index 0e12ee5a..8394ccc9 100644 --- a/webui/Dockerfile +++ b/webui/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.17 +FROM golang:1.18 RUN apt-get update RUN apt-get install -y git python jq curl