-
Notifications
You must be signed in to change notification settings - Fork 132
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ad99718
commit 836546e
Showing
7 changed files
with
189 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,6 @@ | ||
.git | ||
.gitignore | ||
.github | ||
LICENSE | ||
README.md | ||
Makefile | ||
build | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
ARG BUSYBOX_IMAGE="busybox:1.36.1-musl" | ||
|
||
################################### | ||
## Build testworkflow init | ||
################################### | ||
FROM --platform=$BUILDPLATFORM golang:1.23-alpine AS builder | ||
|
||
ARG TARGETOS | ||
ARG TARGETARCH | ||
ARG GOMODCACHE="/root/.cache/go-build" | ||
ARG GOCACHE="/go/pkg" | ||
ARG SKAFFOLD_GO_GCFLAGS | ||
|
||
WORKDIR /app | ||
COPY . . | ||
RUN --mount=type=cache,target="$GOMODCACHE" \ | ||
--mount=type=cache,target="$GOCACHE" \ | ||
GOOS=$TARGETOS \ | ||
GOARCH=$TARGETARCH \ | ||
CGO_ENABLED=0 \ | ||
go build -gcflags="${SKAFFOLD_GO_GCFLAGS}" -o build/_local/workflow-init cmd/testworkflow-init/main.go | ||
|
||
################################### | ||
## Build testworkflow toolkit | ||
################################### | ||
FROM --platform=$BUILDPLATFORM golang:1.23-alpine AS builder | ||
|
||
ARG TARGETOS | ||
ARG TARGETARCH | ||
ARG GOMODCACHE="/root/.cache/go-build" | ||
ARG GOCACHE="/go/pkg" | ||
ARG SKAFFOLD_GO_GCFLAGS | ||
|
||
WORKDIR /app | ||
COPY . . | ||
RUN --mount=type=cache,target="$GOMODCACHE" \ | ||
--mount=type=cache,target="$GOCACHE" \ | ||
GOOS=$TARGETOS \ | ||
GOARCH=$TARGETARCH \ | ||
CGO_ENABLED=0 \ | ||
go build -gcflags="${SKAFFOLD_GO_GCFLAGS}" -o build/_local/workflow-init cmd/testworkflow-init/main.go | ||
|
||
################################### | ||
## Debug | ||
################################### | ||
FROM golang:1.23-alpine AS debug | ||
|
||
ENV GOTRACEBACK=all | ||
RUN go install github.com/go-delve/delve/cmd/[email protected] | ||
|
||
COPY --from=builder /app/build/_local/workflow-init /testkube/ | ||
|
||
ENTRYPOINT ["/go/bin/dlv", "exec", "--headless", "--continue", "--accept-multiclient", "--listen=:56268", "--api-version=2", "/testkube/workflow-init"] | ||
|
||
################################### | ||
## Distribution | ||
################################### | ||
FROM ${BUSYBOX_IMAGE} AS dist | ||
RUN cp -rf /bin /.tktw-bin | ||
COPY --from=builder /app/build/_local/workflow-init /testkube/init | ||
USER 1001 | ||
ENTRYPOINT ["/init"] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
ARG BUSYBOX_IMAGE="busybox:1.36.1-musl" | ||
ARG ALPINE_IMAGE="alpine:3.20.0" | ||
FROM ${BUSYBOX_IMAGE} AS busybox | ||
|
||
################################### | ||
## Build testworkflow-init | ||
################################### | ||
FROM --platform=$BUILDPLATFORM golang:1.23-alpine AS builder-init | ||
|
||
ARG TARGETOS | ||
ARG TARGETARCH | ||
ARG GOMODCACHE="/root/.cache/go-build" | ||
ARG GOCACHE="/go/pkg" | ||
ARG SKAFFOLD_GO_GCFLAGS | ||
|
||
WORKDIR /app | ||
COPY . . | ||
RUN --mount=type=cache,target="$GOMODCACHE" \ | ||
--mount=type=cache,target="$GOCACHE" \ | ||
GOOS=$TARGETOS \ | ||
GOARCH=$TARGETARCH \ | ||
CGO_ENABLED=0 \ | ||
go build -gcflags="${SKAFFOLD_GO_GCFLAGS}" -o build/_local/workflow-init cmd/testworkflow-init/main.go | ||
|
||
################################### | ||
## Build testworkflow-toolkit | ||
################################### | ||
FROM --platform=$BUILDPLATFORM golang:1.23-alpine AS builder-toolkit | ||
|
||
ARG TARGETOS | ||
ARG TARGETARCH | ||
ARG GOMODCACHE="/root/.cache/go-build" | ||
ARG GOCACHE="/go/pkg" | ||
ARG SKAFFOLD_GO_GCFLAGS | ||
|
||
RUN go install github.com/go-delve/delve/cmd/[email protected] | ||
|
||
WORKDIR /app | ||
COPY . . | ||
RUN --mount=type=cache,target="$GOMODCACHE" \ | ||
--mount=type=cache,target="$GOCACHE" \ | ||
GOOS=$TARGETOS \ | ||
GOARCH=$TARGETARCH \ | ||
CGO_ENABLED=0 \ | ||
go build -gcflags="${SKAFFOLD_GO_GCFLAGS}" -o build/_local/workflow-toolkit cmd/testworkflow-toolkit/main.go | ||
|
||
################################### | ||
## Debug | ||
################################### | ||
FROM ${ALPINE_IMAGE} AS debug | ||
RUN apk --no-cache add ca-certificates libssl3 git openssh-client | ||
ENV GOTRACEBACK=all | ||
COPY --from=builder-toolkit /go/bin/dlv / | ||
COPY --from=busybox /bin /.tktw-bin | ||
COPY --from=builder-toolkit /app/build/_local/workflow-toolkit /toolkit | ||
COPY --from=builder-init /app/build/_local/workflow-init /init | ||
RUN adduser --disabled-password --home / --no-create-home --uid 1001 default | ||
USER 1001 | ||
ENTRYPOINT ["/dlv", "exec", "--headless", "--accept-multiclient", "--listen=:56300", "--api-version=2", "/toolkit"] | ||
|
||
################################### | ||
## Distribution | ||
################################### | ||
FROM ${ALPINE_IMAGE} AS dist | ||
RUN apk --no-cache add ca-certificates libssl3 git openssh-client | ||
COPY --from=busybox /bin /.tktw-bin | ||
COPY --from=builder-toolkit /app/build/_local/workflow-toolkit /toolkit | ||
COPY --from=builder-init /app/build/_local/workflow-init /init | ||
RUN adduser --disabled-password --home / --no-create-home --uid 1001 default | ||
USER 1001 | ||
ENTRYPOINT ["/toolkit"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters