Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions dockerfiles/cli.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -32,22 +32,18 @@ COPY go.mod go.sum ./
COPY workers/go/harness/api ./workers/go/harness/api
RUN go mod download

# Copy CLI source. kitchen-sink-gen needs the proto tree; the rest of workers/
# (language workers) is not needed here.
# Copy CLI source and build the CLI.
COPY cmd ./cmd
COPY clioptions ./clioptions
COPY loadgen ./loadgen
COPY metrics ./metrics
COPY scenarios ./scenarios
COPY internal ./internal
COPY devserver ./devserver
COPY workers/proto ./workers/proto

# Build the CLI
RUN CGO_ENABLED=0 go build -o temporal-omes ./cmd/omes

# Install protoc-gen-go for kitchen-sink-gen build
# Install protoc-gen-go and build kitchen-sink-gen, which needs the proto tree.
RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.31.0
COPY workers/proto ./workers/proto

# Build kitchen-sink-gen (statically linked)
RUN cd loadgen/kitchen-sink-gen && \
Expand Down
20 changes: 11 additions & 9 deletions dockerfiles/dotnet.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,21 @@ ENV PATH="$PATH:/root/.cargo/bin:/usr/local/go/bin"

WORKDIR /app

# Copy CLI build dependencies
# Download Go dependencies first so this layer caches independently of source
# changes. The harness/api replace target must be present for `go mod download`
# to resolve the module graph.
COPY go.mod go.sum ./
COPY workers/go/harness/api ./workers/go/harness/api
RUN go mod download

# Copy CLI source and build the CLI.
COPY cmd ./cmd
COPY clioptions ./clioptions
COPY loadgen ./loadgen
COPY scenarios ./scenarios
COPY metrics ./metrics
COPY devserver ./devserver
COPY scenarios ./scenarios
COPY internal ./internal
COPY workers/go/harness/api ./workers/go/harness/api
COPY workers/proto/harness ./workers/proto/harness
COPY go.mod go.sum ./

# Build the CLI
RUN CGO_ENABLED=0 /usr/local/go/bin/go build -o temporal-omes ./cmd/omes
RUN CGO_ENABLED=0 go build -o temporal-omes ./cmd/omes

ARG SDK_VERSION

Expand All @@ -44,6 +45,7 @@ ARG SDK_DIR=.gitignore
COPY ${SDK_DIR} ./repo

# Copy the worker files
COPY workers/proto/harness ./workers/proto/harness
COPY workers/dotnet ./workers/dotnet

# Prepare the worker
Expand Down
16 changes: 9 additions & 7 deletions dockerfiles/go.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,20 @@ FROM --platform=linux/$TARGETARCH golang:1.25 AS build

WORKDIR /app

# Copy CLI build dependencies
# Download Go dependencies first so this layer caches independently of source
# changes. The harness/api replace target must be present for `go mod download`
# to resolve the module graph.
COPY go.mod go.sum ./
COPY workers/go/harness/api ./workers/go/harness/api
RUN go mod download

# Copy CLI source and build the CLI.
COPY cmd ./cmd
COPY clioptions ./clioptions
COPY loadgen ./loadgen
COPY scenarios ./scenarios
COPY metrics ./metrics
COPY devserver ./devserver
COPY scenarios ./scenarios
COPY internal ./internal
COPY workers/go/harness/api ./workers/go/harness/api
COPY go.mod go.sum ./

# Build the CLI
RUN CGO_ENABLED=0 go build -o temporal-omes ./cmd/omes

ARG SDK_VERSION
Expand Down
17 changes: 10 additions & 7 deletions dockerfiles/java.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,25 @@ RUN apt-get update \
ARG TARGETARCH
RUN wget -q https://go.dev/dl/go1.21.12.linux-${TARGETARCH}.tar.gz \
&& tar -C /usr/local -xzf go1.21.12.linux-${TARGETARCH}.tar.gz
ENV PATH="$PATH:/usr/local/go/bin"

WORKDIR /app

# Copy CLI build dependencies
# Download Go dependencies first so this layer caches independently of source
# changes. The harness/api replace target must be present for `go mod download`
# to resolve the module graph.
COPY go.mod go.sum ./
COPY workers/go/harness/api ./workers/go/harness/api
RUN go mod download

# Copy CLI source and build the CLI.
COPY cmd ./cmd
COPY clioptions ./clioptions
COPY loadgen ./loadgen
COPY metrics ./metrics
COPY scenarios ./scenarios
COPY devserver ./devserver
COPY internal ./internal
COPY workers/go/harness/api ./workers/go/harness/api
COPY go.mod go.sum ./

# Build the CLI
RUN CGO_ENABLED=0 /usr/local/go/bin/go build -o temporal-omes ./cmd/omes
RUN CGO_ENABLED=0 go build -o temporal-omes ./cmd/omes

ARG SDK_VERSION

Expand Down
20 changes: 11 additions & 9 deletions dockerfiles/python.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,28 @@ RUN wget -q https://go.dev/dl/go1.21.12.linux-${TARGETARCH}.tar.gz \
# hadolint ignore=DL4006
RUN wget -q -O - https://sh.rustup.rs | sh -s -- -y

ENV PATH="$PATH:/root/.cargo/bin"
ENV PATH="$PATH:/root/.cargo/bin:/usr/local/go/bin"

# Install uv
COPY --from=uv /uv /uvx /bin/

WORKDIR /app

# Copy CLI build dependencies
# Download Go dependencies first so this layer caches independently of source
# changes. The harness/api replace target must be present for `go mod download`
# to resolve the module graph.
COPY go.mod go.sum ./
COPY workers/go/harness/api ./workers/go/harness/api
RUN go mod download

# Copy CLI source and build the CLI.
COPY cmd ./cmd
COPY clioptions ./clioptions
COPY loadgen ./loadgen
COPY scenarios ./scenarios
COPY metrics ./metrics
COPY devserver ./devserver
COPY scenarios ./scenarios
COPY internal ./internal
COPY workers/go/harness/api ./workers/go/harness/api
COPY go.mod go.sum ./

# Build the CLI
RUN CGO_ENABLED=0 /usr/local/go/bin/go build -o temporal-omes ./cmd/omes
RUN CGO_ENABLED=0 go build -o temporal-omes ./cmd/omes

ARG SDK_VERSION
ARG PROJECT_NAME=""
Expand Down
19 changes: 11 additions & 8 deletions dockerfiles/ruby.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,25 @@ FROM --platform=linux/$TARGETARCH ruby:3.3-bullseye AS build
ARG TARGETARCH
RUN wget -q https://go.dev/dl/go1.21.12.linux-${TARGETARCH}.tar.gz \
&& tar -C /usr/local -xzf go1.21.12.linux-${TARGETARCH}.tar.gz
ENV PATH="$PATH:/usr/local/go/bin"

WORKDIR /app

# Copy CLI build dependencies
# Download Go dependencies first so this layer caches independently of source
# changes. The harness/api replace target must be present for `go mod download`
# to resolve the module graph.
COPY go.mod go.sum ./
COPY workers/go/harness/api ./workers/go/harness/api
RUN go mod download

# Copy CLI source and build the CLI.
COPY cmd ./cmd
COPY clioptions ./clioptions
COPY loadgen ./loadgen
COPY scenarios ./scenarios
COPY metrics ./metrics
COPY devserver ./devserver
COPY scenarios ./scenarios
COPY internal ./internal
COPY workers/go/harness/api ./workers/go/harness/api
COPY go.mod go.sum ./

# Build the CLI
RUN CGO_ENABLED=0 /usr/local/go/bin/go build -o temporal-omes ./cmd/omes
RUN CGO_ENABLED=0 go build -o temporal-omes ./cmd/omes

ARG SDK_VERSION

Expand Down
21 changes: 12 additions & 9 deletions dockerfiles/typescript.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,25 @@ RUN wget -q https://go.dev/dl/go1.21.12.linux-${TARGETARCH}.tar.gz \

# Need Rust to compile core if not already built
RUN wget -q -O - https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"
ENV PATH="/root/.cargo/bin:/usr/local/go/bin:${PATH}"

WORKDIR /app

# Copy CLI build dependencies
# Download Go dependencies first so this layer caches independently of source
# changes. The harness/api replace target must be present for `go mod download`
# to resolve the module graph.
COPY go.mod go.sum ./
COPY workers/go/harness/api ./workers/go/harness/api
RUN go mod download

# Copy CLI source and build the CLI.
COPY cmd ./cmd
COPY clioptions ./clioptions
COPY loadgen ./loadgen
COPY scenarios ./scenarios
COPY metrics ./metrics
COPY devserver ./devserver
COPY scenarios ./scenarios
COPY internal ./internal
COPY workers/go/harness/api ./workers/go/harness/api
COPY go.mod go.sum versions.env ./

# Build the CLI
RUN CGO_ENABLED=0 /usr/local/go/bin/go build -o temporal-omes ./cmd/omes
RUN CGO_ENABLED=0 go build -o temporal-omes ./cmd/omes

ARG SDK_VERSION

Expand All @@ -49,6 +51,7 @@ ENV BUILD_CORE_RELEASE=${BUILD_CORE_RELEASE}
# Copy the worker files
COPY workers/proto ./workers/proto
COPY workers/typescript ./workers/typescript
COPY versions.env ./

# Pin pnpm through Corepack because sdkbuild invokes `corepack pnpm`.
RUN . ./versions.env \
Expand Down
Loading