Nik Afiq 8f7024edfa
All checks were successful
CI / changes (push) Successful in 19s
CI / test (push) Successful in 24s
CI / build-ai-gateway (push) Successful in 1m6s
CI / build-ha-gateway (push) Successful in 1m3s
CI / build-discord-bot (push) Successful in 1m4s
CI / build-alexa-bridge (push) Successful in 1m15s
CI / build-tts-gateway (push) Successful in 1m5s
CI / build-tts-sidecar (push) Has been skipped
CI / build-tts-model (push) Has been skipped
feat(climate): add SetTemperature method to ClimateService
- Implemented SetTemperature in ClimateService for setting an absolute target temperature.
- Updated ClimateServiceClient and ClimateServiceServer interfaces to include SetTemperature.
- Added corresponding handler and tests for SetTemperature in ClimateGRPC.
- Modified ClimateApp to handle SetTemperature requests without clamping.
- Updated climate.proto to define SetTemperatureRequest message.
- Adjusted Dockerfiles to include alexa-bridge dependencies.
2026-07-25 12:08:24 +09:00

43 lines
1.4 KiB
Docker

FROM golang:1.26-alpine AS builder
WORKDIR /workspace
COPY go.work go.work.sum ./
# Manifests only, copied first, so `go mod download` gets its own cache layer
# invalidated only by dependency changes - not by every source edit below.
COPY gen/go.mod gen/go.sum ./gen/
COPY ai-gateway/go.mod ai-gateway/go.sum ./ai-gateway/
COPY ha-gateway/go.mod ha-gateway/go.sum ./ha-gateway/
COPY tts-gateway/go.mod tts-gateway/go.sum ./tts-gateway/
COPY alexa-bridge/go.mod alexa-bridge/go.sum ./alexa-bridge/
COPY discord-bot/go.mod discord-bot/go.sum ./discord-bot/
WORKDIR /workspace/discord-bot
RUN go mod download
WORKDIR /workspace
COPY gen/ ./gen/
COPY ai-gateway/ ./ai-gateway/
COPY ha-gateway/ ./ha-gateway/
COPY tts-gateway/ ./tts-gateway/
COPY alexa-bridge/ ./alexa-bridge/
COPY discord-bot/ ./discord-bot/
WORKDIR /workspace/discord-bot
ARG VERSION=dev
RUN CGO_ENABLED=0 GOOS=linux go build \
-ldflags="-s -w -X main.version=${VERSION}" \
-o /discord-bot ./cmd/bot
# /speak needs `ffmpeg` at runtime (github.com/jonas747/dca shells out to it to transcode
# tts-gateway's AAC output to Opus for Discord voice), which rules out a distroless base -
# same reasoning as tts-gateway/Dockerfile.
FROM ubuntu:22.04
RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /discord-bot /discord-bot
ENTRYPOINT ["/discord-bot"]