Skip to content

Commit 4edfade

Browse files
Refactor implementation and support custom directory path(#5)
1 parent 62d5735 commit 4edfade

File tree

7 files changed

+181
-145
lines changed

7 files changed

+181
-145
lines changed

.github/workflows/go.yaml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ jobs:
2424
run: |
2525
go test ./...
2626
27-
- name: Build
28-
run: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -buildvcs=false -o main
29-
3027
release_package:
3128
if: ${{ startsWith(github.ref, 'refs/tags/v')}}
3229
runs-on: ubuntu-latest
@@ -48,10 +45,6 @@ jobs:
4845
run: |
4946
go mod download
5047
51-
- name: Build
52-
run: |
53-
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -buildvcs=false -o main
54-
5548
- name: Extract Release Tag
5649
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
5750

Dockerfile

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
1+
# Build stage
2+
FROM golang:1.22 AS build
3+
4+
WORKDIR /src
5+
COPY . .
6+
RUN go get ./...
7+
RUN go build -ldflags "-linkmode external -extldflags -static" -a -o /app/main main.go
8+
9+
# Final stage
110
FROM alpine:3.14
211
RUN apk add --no-cache tzdata ca-certificates
312

4-
COPY main main
5-
COPY configs configs
13+
COPY --from=build /app/main /main
14+
COPY --from=build /src/configs /configs
15+
16+
CMD ["/main"]

configs/.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
APP_NAME=static-server
22

3-
HTTP_PORT=8000
3+
STATIC_FILE_PATH=./website

go.mod

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ module zop.dev/static-server
22

33
go 1.22.9
44

5-
require gofr.dev v1.27.1
5+
require gofr.dev v1.28.1
66

77
require (
88
cloud.google.com/go v0.116.0 // indirect
9-
cloud.google.com/go/auth v0.9.9 // indirect
10-
cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect
9+
cloud.google.com/go/auth v0.10.2 // indirect
10+
cloud.google.com/go/auth/oauth2adapt v0.2.5 // indirect
1111
cloud.google.com/go/compute/metadata v0.5.2 // indirect
12-
cloud.google.com/go/iam v1.2.1 // indirect
12+
cloud.google.com/go/iam v1.2.2 // indirect
1313
cloud.google.com/go/pubsub v1.45.1 // indirect
1414
filippo.io/edwards25519 v1.1.0 // indirect
1515
github.com/DATA-DOG/go-sqlmock v1.5.2 // indirect
@@ -31,11 +31,11 @@ require (
3131
github.com/google/s2a-go v0.1.8 // indirect
3232
github.com/google/uuid v1.6.0 // indirect
3333
github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
34-
github.com/googleapis/gax-go/v2 v2.13.0 // indirect
34+
github.com/googleapis/gax-go/v2 v2.14.0 // indirect
3535
github.com/gorilla/mux v1.8.1 // indirect
3636
github.com/gorilla/websocket v1.5.3 // indirect
3737
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
38-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect
38+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0 // indirect
3939
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
4040
github.com/joho/godotenv v1.5.1 // indirect
4141
github.com/klauspost/compress v1.17.9 // indirect
@@ -56,42 +56,42 @@ require (
5656
github.com/redis/go-redis/v9 v9.7.0 // indirect
5757
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
5858
github.com/segmentio/kafka-go v0.4.47 // indirect
59-
github.com/stretchr/testify v1.9.0 // indirect
59+
github.com/stretchr/testify v1.10.0 // indirect
6060
go.opencensus.io v0.24.0 // indirect
6161
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 // indirect
6262
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.56.0 // indirect
63-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect
64-
go.opentelemetry.io/otel v1.31.0 // indirect
65-
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect
66-
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 // indirect
63+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.57.0 // indirect
64+
go.opentelemetry.io/otel v1.32.0 // indirect
65+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0 // indirect
66+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0 // indirect
6767
go.opentelemetry.io/otel/exporters/prometheus v0.52.0 // indirect
68-
go.opentelemetry.io/otel/exporters/zipkin v1.31.0 // indirect
69-
go.opentelemetry.io/otel/metric v1.31.0 // indirect
70-
go.opentelemetry.io/otel/sdk v1.31.0 // indirect
68+
go.opentelemetry.io/otel/exporters/zipkin v1.32.0 // indirect
69+
go.opentelemetry.io/otel/metric v1.32.0 // indirect
70+
go.opentelemetry.io/otel/sdk v1.32.0 // indirect
7171
go.opentelemetry.io/otel/sdk/metric v1.30.0 // indirect
72-
go.opentelemetry.io/otel/trace v1.31.0 // indirect
72+
go.opentelemetry.io/otel/trace v1.32.0 // indirect
7373
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
7474
go.uber.org/mock v0.5.0 // indirect
75-
golang.org/x/crypto v0.28.0 // indirect
76-
golang.org/x/net v0.30.0 // indirect
75+
golang.org/x/crypto v0.29.0 // indirect
76+
golang.org/x/net v0.31.0 // indirect
7777
golang.org/x/oauth2 v0.24.0 // indirect
78-
golang.org/x/sync v0.8.0 // indirect
79-
golang.org/x/sys v0.26.0 // indirect
80-
golang.org/x/term v0.25.0 // indirect
81-
golang.org/x/text v0.19.0 // indirect
82-
golang.org/x/time v0.7.0 // indirect
83-
google.golang.org/api v0.203.0 // indirect
84-
google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 // indirect
85-
google.golang.org/genproto/googleapis/api v0.0.0-20241007155032-5fefd90f89a9 // indirect
86-
google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect
78+
golang.org/x/sync v0.9.0 // indirect
79+
golang.org/x/sys v0.27.0 // indirect
80+
golang.org/x/term v0.26.0 // indirect
81+
golang.org/x/text v0.20.0 // indirect
82+
golang.org/x/time v0.8.0 // indirect
83+
google.golang.org/api v0.209.0 // indirect
84+
google.golang.org/genproto v0.0.0-20241113202542-65e8d215514f // indirect
85+
google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 // indirect
86+
google.golang.org/genproto/googleapis/rpc v0.0.0-20241113202542-65e8d215514f // indirect
8787
google.golang.org/grpc v1.67.1 // indirect
88-
google.golang.org/protobuf v1.35.1 // indirect
88+
google.golang.org/protobuf v1.35.2 // indirect
8989
gopkg.in/yaml.v3 v3.0.1 // indirect
9090
modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 // indirect
9191
modernc.org/libc v1.55.3 // indirect
9292
modernc.org/mathutil v1.6.0 // indirect
9393
modernc.org/memory v1.8.0 // indirect
94-
modernc.org/sqlite v1.33.1 // indirect
94+
modernc.org/sqlite v1.34.1 // indirect
9595
modernc.org/strutil v1.2.0 // indirect
9696
modernc.org/token v1.1.0 // indirect
9797
)

0 commit comments

Comments
 (0)