1
0
mirror of https://github.com/kairos-io/immucore.git synced 2025-05-10 09:05:15 +00:00
immucore/Earthfile

65 lines
1.9 KiB
Plaintext
Raw Normal View History

2023-02-01 21:34:07 +00:00
VERSION 0.6
# renovate: datasource=docker depName=quay.io/kairos/osbuilder-tools versioning=semver-coerced
ARG OSBUILDER_VERSION=v0.400.3
ARG OSBUILDER_IMAGE=quay.io/kairos/osbuilder-tools:$OSBUILDER_VERSION
# renovate: datasource=docker depName=golangci/golangci-lint
ARG GOLINT_VERSION=v1.64.5
2024-03-18 11:43:16 +00:00
# renovate: datasource=docker depName=golang
ARG GO_VERSION=1.23-bookworm
version:
2024-03-18 11:43:16 +00:00
FROM +go-deps
COPY . ./
2024-03-18 11:43:16 +00:00
RUN --no-cache echo $(git describe --always --tags --dirty) > VERSION
RUN --no-cache echo $(git describe --always --dirty) > COMMIT
ARG VERSION=$(cat VERSION)
ARG COMMIT=$(cat COMMIT)
SAVE ARTIFACT VERSION VERSION
2024-03-18 11:43:16 +00:00
SAVE ARTIFACT COMMIT COMMIT
2024-03-18 11:43:16 +00:00
go-deps:
ARG GO_VERSION
FROM golang:$GO_VERSION
WORKDIR /build
2024-05-16 08:54:13 +00:00
COPY . .
2024-07-11 09:37:36 +00:00
RUN go mod tidy
RUN go mod download
2024-05-16 08:54:13 +00:00
RUN go mod verify
2023-02-02 14:12:33 +00:00
test:
2024-03-18 11:43:16 +00:00
FROM +go-deps
2023-02-02 14:12:33 +00:00
WORKDIR /build
2024-03-18 11:43:16 +00:00
RUN go run github.com/onsi/ginkgo/v2/ginkgo --race --covermode=atomic --coverprofile=coverage.out -p -r ./...
2023-02-02 14:12:33 +00:00
SAVE ARTIFACT coverage.out AS LOCAL coverage.out
2024-03-18 11:43:16 +00:00
golint:
2023-02-02 14:12:33 +00:00
ARG GOLINT_VERSION
FROM golangci/golangci-lint:$GOLINT_VERSION
2023-02-02 14:12:33 +00:00
WORKDIR /build
2024-05-16 09:00:19 +00:00
COPY . .
2024-07-11 09:37:36 +00:00
RUN go mod tidy
RUN golangci-lint run -v
2023-02-02 14:12:33 +00:00
2023-02-01 21:34:07 +00:00
build-immucore:
2024-03-18 11:43:16 +00:00
FROM +go-deps
2024-05-16 08:57:04 +00:00
COPY +version/VERSION ./
COPY +version/COMMIT ./
ARG VERSION=$(cat VERSION)
ARG COMMIT=$(cat COMMIT)
ARG LDFLAGS="-s -w -X github.com/kairos-io/immucore/internal/version.version=$VERSION -X github.com/kairos-io/immucore/internal/version.gitCommit=$COMMIT"
RUN echo ${LDFLAGS}
RUN CGO_ENABLED=0 go build -o immucore -ldflags "${LDFLAGS}"
2024-05-16 08:57:04 +00:00
SAVE ARTIFACT immucore immucore AS LOCAL build/immucore-$VERSION
# Alias for ease of use
build:
BUILD +build-immucore
dracut-artifacts:
FROM scratch
WORKDIR /build
COPY --dir dracut/28immucore .
COPY dracut/10-immucore.conf .
SAVE ARTIFACT 28immucore 28immucore
2024-05-16 08:54:13 +00:00
SAVE ARTIFACT 10-immucore.conf 10-immucore.conf