2023-02-01 21:34:07 +00:00
|
|
|
VERSION 0.6
|
2023-05-08 14:13:31 +00:00
|
|
|
# renovate: datasource=docker depName=quay.io/kairos/osbuilder-tools versioning=semver-coerced
|
2024-10-23 23:04:14 +00:00
|
|
|
ARG OSBUILDER_VERSION=v0.400.3
|
2023-05-08 14:13:31 +00:00
|
|
|
ARG OSBUILDER_IMAGE=quay.io/kairos/osbuilder-tools:$OSBUILDER_VERSION
|
|
|
|
# renovate: datasource=docker depName=golangci/golangci-lint
|
2025-02-18 13:01:27 +00:00
|
|
|
ARG GOLINT_VERSION=v1.64.5
|
2024-03-18 11:43:16 +00:00
|
|
|
# renovate: datasource=docker depName=golang
|
2024-09-26 13:17:17 +00:00
|
|
|
ARG GO_VERSION=1.23-bookworm
|
2023-02-03 16:57:56 +00:00
|
|
|
|
|
|
|
version:
|
2024-03-18 11:43:16 +00:00
|
|
|
FROM +go-deps
|
2023-02-03 16:57:56 +00:00
|
|
|
COPY . ./
|
2024-03-18 11:43:16 +00:00
|
|
|
RUN --no-cache echo $(git describe --always --tags --dirty) > VERSION
|
2023-02-16 14:43:33 +00:00
|
|
|
RUN --no-cache echo $(git describe --always --dirty) > COMMIT
|
2023-02-03 16:57:56 +00:00
|
|
|
ARG VERSION=$(cat VERSION)
|
2023-09-26 09:43:08 +00:00
|
|
|
ARG COMMIT=$(cat COMMIT)
|
2023-02-03 16:57:56 +00:00
|
|
|
SAVE ARTIFACT VERSION VERSION
|
2024-03-18 11:43:16 +00:00
|
|
|
SAVE ARTIFACT COMMIT COMMIT
|
2023-02-03 16:57:56 +00:00
|
|
|
|
2024-03-18 11:43:16 +00:00
|
|
|
go-deps:
|
2023-02-03 16:57:56 +00:00
|
|
|
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
|
2023-02-03 16:57:56 +00:00
|
|
|
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
|
2023-02-03 16:57:56 +00:00
|
|
|
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
|
2023-09-26 09:43:08 +00:00
|
|
|
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 ./
|
2023-02-06 21:06:31 +00:00
|
|
|
ARG VERSION=$(cat VERSION)
|
2023-02-16 14:43:33 +00:00
|
|
|
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"
|
2023-02-06 21:06:31 +00:00
|
|
|
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
|
2023-02-16 14:30:54 +00:00
|
|
|
|
2023-09-26 09:43:08 +00:00
|
|
|
# Alias for ease of use
|
|
|
|
build:
|
|
|
|
BUILD +build-immucore
|
2023-05-30 19:51:03 +00:00
|
|
|
|
2023-02-16 14:30:54 +00:00
|
|
|
dracut-artifacts:
|
2023-09-26 09:43:08 +00:00
|
|
|
FROM scratch
|
2023-02-16 14:30:54 +00:00
|
|
|
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
|