mirror of
https://github.com/kairos-io/kairos-agent.git
synced 2025-08-13 22:15:20 +00:00
art: Split build targets to speedup process
This commit is contained in:
parent
bbc1aa6ef5
commit
f48b11ab1a
45
Earthfile
45
Earthfile
@ -26,19 +26,34 @@ go-deps:
|
|||||||
SAVE ARTIFACT go.mod AS LOCAL go.mod
|
SAVE ARTIFACT go.mod AS LOCAL go.mod
|
||||||
SAVE ARTIFACT go.sum AS LOCAL go.sum
|
SAVE ARTIFACT go.sum AS LOCAL go.sum
|
||||||
|
|
||||||
build:
|
BUILD_GOLANG:
|
||||||
FROM +go-deps
|
COMMAND
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
COPY . ./
|
COPY . ./
|
||||||
ARG CGO_ENABLED
|
ARG CGO_ENABLED
|
||||||
|
ARG BIN
|
||||||
|
ARG SRC
|
||||||
ENV CGO_ENABLED=${CGO_ENABLED}
|
ENV CGO_ENABLED=${CGO_ENABLED}
|
||||||
|
|
||||||
RUN go build -ldflags "-s -w" -o c3os ./cmd/cli && upx c3os
|
RUN go build -ldflags "-s -w" -o ${BIN} ./cmd/${SRC} && upx ${BIN}
|
||||||
RUN go build -ldflags "-s -w" -o c3os-agent ./cmd/agent && upx c3os-agent
|
SAVE ARTIFACT ${BIN} ${BIN} AS LOCAL build/${BIN}
|
||||||
RUN go build -ldflags "-s -w" -o agent-provider-c3os ./cmd/provider && upx agent-provider-c3os
|
|
||||||
SAVE ARTIFACT c3os c3os AS LOCAL build/c3os
|
build-c3os-cli:
|
||||||
SAVE ARTIFACT c3os-agent c3os-agent AS LOCAL build/c3os-agent
|
FROM +go-deps
|
||||||
SAVE ARTIFACT agent-provider-c3os agent-provider-c3os AS LOCAL build/agent-provider-c3os
|
DO +BUILD_GOLANG --BIN=c3os --SRC=cli --CGO_ENABLED=$CGO_ENABLED
|
||||||
|
|
||||||
|
build-c3os-agent:
|
||||||
|
FROM +go-deps
|
||||||
|
DO +BUILD_GOLANG --BIN=c3os-agent --SRC=agent --CGO_ENABLED=$CGO_ENABLED
|
||||||
|
|
||||||
|
build-c3os-agent-provider:
|
||||||
|
FROM +go-deps
|
||||||
|
DO +BUILD_GOLANG --BIN=agent-provider-c3os --SRC=provider --CGO_ENABLED=$CGO_ENABLED
|
||||||
|
|
||||||
|
build:
|
||||||
|
BUILD +build-c3os-cli
|
||||||
|
BUILD +build-c3os-agent
|
||||||
|
BUILD +build-c3os-agent-provider
|
||||||
|
|
||||||
luet:
|
luet:
|
||||||
FROM quay.io/luet/base:$LUET_VERSION
|
FROM quay.io/luet/base:$LUET_VERSION
|
||||||
@ -99,6 +114,7 @@ framework:
|
|||||||
SAVE ARTIFACT /framework/ framework
|
SAVE ARTIFACT /framework/ framework
|
||||||
|
|
||||||
docker:
|
docker:
|
||||||
|
# Source the flavor-provided docker file
|
||||||
FROM DOCKERFILE -f images/Dockerfile.$FLAVOR .
|
FROM DOCKERFILE -f images/Dockerfile.$FLAVOR .
|
||||||
ARG K3S_VERSION
|
ARG K3S_VERSION
|
||||||
ARG C3OS_VERSION
|
ARG C3OS_VERSION
|
||||||
@ -114,8 +130,10 @@ docker:
|
|||||||
ENV OS_VERSION=$OS_VERSION
|
ENV OS_VERSION=$OS_VERSION
|
||||||
ENV OS_REPO=$OS_REPO
|
ENV OS_REPO=$OS_REPO
|
||||||
|
|
||||||
|
# Includes overlay/files
|
||||||
COPY +framework/framework /
|
COPY +framework/framework /
|
||||||
|
|
||||||
|
# Copy flavor-specific overlay files
|
||||||
IF [ "$FLAVOR" = "alpine" ]
|
IF [ "$FLAVOR" = "alpine" ]
|
||||||
COPY overlay/files-alpine/ /
|
COPY overlay/files-alpine/ /
|
||||||
ELSE IF [ "$FLAVOR" = "alpine-arm-rpi" ]
|
ELSE IF [ "$FLAVOR" = "alpine-arm-rpi" ]
|
||||||
@ -125,12 +143,16 @@ docker:
|
|||||||
COPY overlay/files-opensuse-arm-rpi/ /
|
COPY overlay/files-opensuse-arm-rpi/ /
|
||||||
END
|
END
|
||||||
|
|
||||||
COPY +build/c3os /usr/bin/c3os
|
# Copy c3os binaries
|
||||||
COPY +build/c3os-agent /usr/bin/c3os-agent
|
COPY +build-c3os-cli/c3os /usr/bin/c3os
|
||||||
COPY +build/agent-provider-c3os /usr/bin/agent-provider-c3os
|
COPY +build-c3os-agent/c3os-agent /usr/bin/c3os-agent
|
||||||
|
COPY +build-c3os-agent-provider/agent-provider-c3os /usr/bin/agent-provider-c3os
|
||||||
|
|
||||||
|
# update OS-release file
|
||||||
RUN envsubst >/etc/os-release </usr/lib/os-release.tmpl && \
|
RUN envsubst >/etc/os-release </usr/lib/os-release.tmpl && \
|
||||||
rm /usr/lib/os-release.tmpl
|
rm /usr/lib/os-release.tmpl
|
||||||
|
|
||||||
|
# Regenerate initrd if necessary
|
||||||
IF [ "$FLAVOR" = "opensuse" ] || [ "$FLAVOR" = "opensuse-arm-rpi" ] || [ "$FLAVOR" = "tumbleweed-arm-rpi" ]
|
IF [ "$FLAVOR" = "opensuse" ] || [ "$FLAVOR" = "opensuse-arm-rpi" ] || [ "$FLAVOR" = "tumbleweed-arm-rpi" ]
|
||||||
RUN mkinitrd
|
RUN mkinitrd
|
||||||
ELSE IF [ "$FLAVOR" = "ubuntu" ]
|
ELSE IF [ "$FLAVOR" = "ubuntu" ]
|
||||||
@ -142,6 +164,7 @@ docker:
|
|||||||
RUN kernel=$(ls /lib/modules | head -n1) && depmod -a "${kernel}"
|
RUN kernel=$(ls /lib/modules | head -n1) && depmod -a "${kernel}"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
# If it's an ARM flavor, we want a symlink here
|
||||||
IF [ "$FLAVOR" = "alpine-arm-rpi" ] || [ "$FLAVOR" = "opensuse-arm-rpi" ] || [ "$FLAVOR" = "tumbleweed-arm-rpi" ]
|
IF [ "$FLAVOR" = "alpine-arm-rpi" ] || [ "$FLAVOR" = "opensuse-arm-rpi" ] || [ "$FLAVOR" = "tumbleweed-arm-rpi" ]
|
||||||
RUN ln -sf Image /boot/vmlinuz
|
RUN ln -sf Image /boot/vmlinuz
|
||||||
END
|
END
|
||||||
|
Loading…
Reference in New Issue
Block a user