ci: run go generate in dependency modules + optimize Dockerfile
Some checks are pending
continuous-integration/drone/push Build is running

Some checker dependencies (e.g. checker-caa) embed assets produced by
go:generate directives. Run go generate in every non-main module after
go mod download so embedded files are materialised before build.
This commit is contained in:
nemunaire 2026-04-29 11:36:03 +07:00
commit 7916a2ef37
4 changed files with 16 additions and 8 deletions

View file

@ -13,6 +13,7 @@ steps:
commands:
- sed -i '/npm run build/d;/npm run generate:api/d' web/assets.go web-admin/assets.go
- go install github.com/swaggo/swag/cmd/swag@latest
- go mod download
- go generate ./...
- name: update frontend version
@ -224,6 +225,7 @@ steps:
commands:
- sed -i '/npm run build/d;/npm run generate:api/d' web/assets.go web-admin/assets.go
- go install github.com/swaggo/swag/cmd/swag@latest
- go mod download
- go generate ./...
- name: update frontend version

View file

@ -2,18 +2,25 @@ FROM golang:1-alpine AS gogenerator
WORKDIR /go/src/git.happydns.org/happydomain
# First download dependancies
COPY go.mod go.sum ./
RUN go mod download && \
go install github.com/swaggo/swag/cmd/swag@latest
# Generate go code
COPY checkers ./checkers
COPY cmd ./cmd
COPY tools ./tools
COPY internal ./internal
COPY model ./model
COPY providers ./providers
COPY services ./services
COPY tools ./tools
COPY web/ ./web
COPY web-admin/ ./web-admin
COPY generate.go ./
RUN sed -i '/npm run build/d;/npm run generate:api/d' web/assets.go web-admin/assets.go && \
go install github.com/swaggo/swag/cmd/swag@latest && \
go generate -v ./...
@ -52,12 +59,13 @@ COPY --from=gogenerator /go/src/git.happydns.org/happydomain/web/src/lib/dns_rr.
COPY --from=gogenerator /go/src/git.happydns.org/happydomain/internal/usecase/service_specs_dns_types.go internal/usecase/service_specs_dns_types.go
COPY --from=gogenerator /go/src/git.happydns.org/happydomain/docs/ docs/
COPY --from=gogenerator /go/src/git.happydns.org/happydomain/docs-admin/ docs-admin/
COPY checkers ./checkers
COPY cmd ./cmd
COPY tools ./tools
COPY internal ./internal
COPY model ./model
COPY providers ./providers
COPY services ./services
COPY tools ./tools
COPY generate.go go.mod go.sum ./
RUN go build -v -tags netgo,swagger,web -ldflags '-w' ./cmd/happyDomain/

2
go.mod
View file

@ -8,7 +8,7 @@ require (
git.happydns.org/checker-alias v0.1.0
git.happydns.org/checker-authoritative-consistency v0.1.0
git.happydns.org/checker-blacklist v0.1.0
git.happydns.org/checker-caa v0.1.0
git.happydns.org/checker-caa v0.2.0
git.happydns.org/checker-dane v0.2.0
git.happydns.org/checker-dangling v0.1.0
git.happydns.org/checker-dav v0.1.0

6
go.sum
View file

@ -14,10 +14,8 @@ git.happydns.org/checker-authoritative-consistency v0.1.0 h1:+0XvJFC7tFVf0Dgruew
git.happydns.org/checker-authoritative-consistency v0.1.0/go.mod h1:hPxEDSyrPq+KY9YU5QoZ1btecw/cU/Miouuacaz4wzk=
git.happydns.org/checker-blacklist v0.1.0 h1:IV44Lxnw0dLBhoyAkAlq9A+hTB5B4RF4vLiW+nX21gg=
git.happydns.org/checker-blacklist v0.1.0/go.mod h1:DRHkpULz8F6dKm0LUErAAQln0x8XByg+/UxbUY46oZk=
git.happydns.org/checker-caa v0.1.0 h1:L0kg9dqdJqmjaPrgbLtBvgEE6+e+7EVSSRPB5pIzNIQ=
git.happydns.org/checker-caa v0.1.0/go.mod h1:7ecPoFRYT0+Fl5DG17Xvz9Xh2alwgEpSSaE2rp0EcT0=
git.happydns.org/checker-dane v0.1.3 h1:9VpQ4FrWJE/O6MZ08FCk1vmHsr3u5V7478als9Y4jl8=
git.happydns.org/checker-dane v0.1.3/go.mod h1:md5SQA8M1QGq9MoXe3QVV+m55I+r8lU4iYx5KzvkbII=
git.happydns.org/checker-caa v0.2.0 h1:KfCXKMDKg4gl5cv4zNPkUnnbWWBVVymj6Cv9FRJmFRY=
git.happydns.org/checker-caa v0.2.0/go.mod h1:7ecPoFRYT0+Fl5DG17Xvz9Xh2alwgEpSSaE2rp0EcT0=
git.happydns.org/checker-dane v0.2.0 h1:itN9q3zfZeiJgibyjUhQsHDr5StLSDk5CgOHBE3OWw8=
git.happydns.org/checker-dane v0.2.0/go.mod h1:GEdoDOO4LdwQQouPgl0JHyOFsMWGSp2mxdU5H9FCses=
git.happydns.org/checker-dangling v0.1.0 h1:gZVyHAKG2U1FXBt7cPnZsr45JQWZ21jlThKhHckb+i8=