Skip to content

Commit 0e345ff

Browse files
committed
Build versioned image with earthly
Signed-off-by: Dimitris Karakasilis <dimitris@karakasilis.me>
1 parent b7188a9 commit 0e345ff

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

Dockerfile

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
1-
# TODO: How should we version the image? auroraboot version + a build version?
2-
ARG VERSION=v0.3.2
1+
ARG VERSION=v0.0.0
32
ARG LUET_VERSION=0.35.5
43
ARG LEAP_VERSION=15.5
54

65
FROM quay.io/luet/base:$LUET_VERSION AS luet
76

87
FROM golang AS builder
9-
ARG BINARY_VERSION=v0.0.0
108
WORKDIR /work
119
ADD go.mod .
1210
ADD go.sum .
1311
RUN go mod download
1412
ADD . .
15-
RUN CGO_ENABLED=0 go build -ldflags "-X main.version=${BINARY_VERSION}" -o auroraboot
13+
RUN CGO_ENABLED=0 go build -ldflags "-X main.version=${VERSION}" -o auroraboot
1614

1715
FROM opensuse/leap:$LEAP_VERSION as default
1816
RUN zypper ref && zypper dup -y

Earthfile

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,22 @@ ARG --global GO_VERSION=1.23-bookworm
55
ARG IMAGE_VERSION=v3.2.1
66
ARG --global BASE_IMAGE=quay.io/kairos/ubuntu:24.04-core-amd64-generic-${IMAGE_VERSION}-uki
77

8+
9+
version:
10+
FROM alpine
11+
RUN apk update && apk add git
12+
13+
COPY . .
14+
RUN --no-cache git describe --always --tags --dirty > VERSION
15+
SAVE ARTIFACT VERSION VERSION
16+
817
image:
9-
FROM DOCKERFILE -f Dockerfile .
18+
FROM +version
19+
ARG VERSION=$(cat VERSION)
20+
21+
FROM DOCKERFILE --build-arg VERSION=$VERSION -f Dockerfile .
1022

11-
SAVE IMAGE quay.io/kairos/auroraboot
23+
SAVE IMAGE quay.io/kairos/auroraboot:$VERSION
1224

1325
test-label:
1426
FROM alpine

0 commit comments

Comments
 (0)