diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..d2b118c --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,48 @@ +name: build-push + +on: + push: + branches: [main] + tags: ["v*"] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository_owner }}/kmsvc-management-service + +jobs: + build-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + + - uses: docker/setup-qemu-action@v3 + + - uses: docker/setup-buildx-action@v3 + + - uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=raw,value=latest,enable={{is_default_branch}} + type=semver,pattern={{version}} + type=sha + + - uses: docker/build-push-action@v6 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/Dockerfile b/Dockerfile index ecc7300..3e5bc6d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,5 @@ FROM golang:1.26 AS build WORKDIR /src -ENV GOPRIVATE=forgejo.riotpiao.homelab.com -# forgejo.riotpiao.homelab.com's cert is signed by a homelab-private CA, not -# a public one -- without this, `go mod download` can't fetch kmsvc-proto. -COPY hack/homelab-ca.pem /usr/local/share/ca-certificates/homelab-ca.crt -RUN update-ca-certificates COPY go.mod go.sum ./ RUN go mod download COPY . . diff --git a/cmd/server/main.go b/cmd/server/main.go index 574239a..3ef0672 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -16,7 +16,7 @@ import ( "syscall" "time" - kafkamgmtv1 "forgejo.riotpiao.homelab.com/rock/kmsvc-proto/gen/kafkamgmt/v1" + kafkamgmtv1 "github.com/Riotpiaole/kmsvc-proto/gen/kafkamgmt/v1" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" goredis "github.com/redis/go-redis/v9" "google.golang.org/grpc" diff --git a/go.mod b/go.mod index 5d7da4e..bcbb65b 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/rockliang/kafka-management-service go 1.26.0 require ( - forgejo.riotpiao.homelab.com/homelab/kmsvc-proto v1.1.0 + github.com/Riotpiaole/kmsvc-proto v1.3.0 github.com/alicebob/miniredis/v2 v2.38.0 github.com/google/uuid v1.6.0 github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 diff --git a/go.sum b/go.sum index c0532c6..0fe8e94 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,7 @@ -forgejo.riotpiao.homelab.com/rock/kmsvc-proto v1.1.0 h1:T7Y0aWFucwtwoOKy0XTCb+MAtay8U5j4SHCgi6PCrQo= -forgejo.riotpiao.homelab.com/rock/kmsvc-proto v1.1.0/go.mod h1:pKNhLE2KPpNUeu2BL5BFDgXmPlbyB9LHCfi0G4aE38s= github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Riotpiaole/kmsvc-proto v1.3.0 h1:W+Nlbk5Rj9FmEctk9fPgDhR82xhkx9yRAw3EAnJ+UxY= +github.com/Riotpiaole/kmsvc-proto v1.3.0/go.mod h1:20/7jwP4wRxbNGq+qeFeZfTQs7Vtxaoqok6t+3Sc0U8= github.com/alicebob/miniredis/v2 v2.38.0 h1:nZAzCR+Lj+Vxk4ZXzm2NuKq2O33RXj1XxJ2e2uP9jiw= github.com/alicebob/miniredis/v2 v2.38.0/go.mod h1:TcL7YfarKPGDAthEtl5NBeHZfeUQj6OXMm/+iu5cLMM= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= diff --git a/internal/api/handlers/queue_service.go b/internal/api/handlers/queue_service.go index 2683e06..c4ab0ed 100644 --- a/internal/api/handlers/queue_service.go +++ b/internal/api/handlers/queue_service.go @@ -11,7 +11,7 @@ import ( "strings" "time" - kafkamgmtv1 "forgejo.riotpiao.homelab.com/rock/kmsvc-proto/gen/kafkamgmt/v1" + kafkamgmtv1 "github.com/Riotpiaole/kmsvc-proto/gen/kafkamgmt/v1" goredis "github.com/redis/go-redis/v9" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" diff --git a/internal/api/handlers/queue_service_test.go b/internal/api/handlers/queue_service_test.go index 1ecd24f..2963021 100644 --- a/internal/api/handlers/queue_service_test.go +++ b/internal/api/handlers/queue_service_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - kafkamgmtv1 "forgejo.riotpiao.homelab.com/rock/kmsvc-proto/gen/kafkamgmt/v1" + kafkamgmtv1 "github.com/Riotpiaole/kmsvc-proto/gen/kafkamgmt/v1" "github.com/alicebob/miniredis/v2" goredis "github.com/redis/go-redis/v9" "github.com/twmb/franz-go/pkg/kfake"