mirror of
https://github.com/kairos-io/kairos-agent.git
synced 2025-10-21 11:29:15 +00:00
robot: Improve golang CI runs (#1165)
This commit is contained in:
37
Earthfile
37
Earthfile
@@ -61,28 +61,12 @@ 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
|
||||||
|
|
||||||
|
test:
|
||||||
ginkgo:
|
|
||||||
FROM +go-deps
|
FROM +go-deps
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
RUN go get github.com/onsi/gomega/...
|
|
||||||
RUN go get github.com/onsi/ginkgo/v2/ginkgo/internal@v2.1.4
|
|
||||||
RUN go get github.com/onsi/ginkgo/v2/ginkgo/generators@v2.1.4
|
|
||||||
RUN go get github.com/onsi/ginkgo/v2/ginkgo/labels@v2.1.4
|
|
||||||
RUN go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo
|
|
||||||
|
|
||||||
test:
|
|
||||||
FROM +ginkgo
|
|
||||||
WORKDIR /build
|
|
||||||
RUN go get github.com/onsi/gomega/...
|
|
||||||
RUN go get github.com/onsi/ginkgo/v2/ginkgo/internal@v2.1.4
|
|
||||||
RUN go get github.com/onsi/ginkgo/v2/ginkgo/generators@v2.1.4
|
|
||||||
RUN go get github.com/onsi/ginkgo/v2/ginkgo/labels@v2.1.4
|
|
||||||
RUN go install -mod=mod github.com/onsi/ginkgo/v2/ginkgo
|
|
||||||
COPY +luet/luet /usr/bin/luet
|
COPY +luet/luet /usr/bin/luet
|
||||||
COPY . .
|
COPY . .
|
||||||
ENV ACK_GINKGO_DEPRECATIONS=2.5.1
|
RUN go run github.com/onsi/ginkgo/v2/ginkgo --fail-fast --slow-spec-threshold 30s --covermode=atomic --coverprofile=coverage.out -p -r ./pkg ./internal ./cmd ./sdk
|
||||||
RUN ginkgo run --fail-fast --slow-spec-threshold 30s --covermode=atomic --coverprofile=coverage.out -p -r ./pkg ./internal ./cmd ./sdk
|
|
||||||
SAVE ARTIFACT coverage.out AS LOCAL coverage.out
|
SAVE ARTIFACT coverage.out AS LOCAL coverage.out
|
||||||
|
|
||||||
OSRELEASE:
|
OSRELEASE:
|
||||||
@@ -583,7 +567,7 @@ linux-bench-scan:
|
|||||||
###
|
###
|
||||||
# usage e.g. ./earthly.sh +run-qemu-datasource-tests --FLAVOR=alpine-opensuse-leap --FROM_ARTIFACTS=true
|
# usage e.g. ./earthly.sh +run-qemu-datasource-tests --FLAVOR=alpine-opensuse-leap --FROM_ARTIFACTS=true
|
||||||
run-qemu-datasource-tests:
|
run-qemu-datasource-tests:
|
||||||
FROM +ginkgo
|
FROM +go-deps
|
||||||
RUN apt install -y qemu-system-x86 qemu-utils golang git
|
RUN apt install -y qemu-system-x86 qemu-utils golang git
|
||||||
WORKDIR /test
|
WORKDIR /test
|
||||||
ARG FLAVOR
|
ARG FLAVOR
|
||||||
@@ -595,8 +579,6 @@ run-qemu-datasource-tests:
|
|||||||
ARG CLOUD_CONFIG="./tests/assets/autoinstall.yaml"
|
ARG CLOUD_CONFIG="./tests/assets/autoinstall.yaml"
|
||||||
ENV USE_QEMU=true
|
ENV USE_QEMU=true
|
||||||
|
|
||||||
ENV GOPATH="/go"
|
|
||||||
|
|
||||||
ENV CLOUD_CONFIG=$CLOUD_CONFIG
|
ENV CLOUD_CONFIG=$CLOUD_CONFIG
|
||||||
COPY . .
|
COPY . .
|
||||||
IF [ -n "$PREBUILT_ISO" ]
|
IF [ -n "$PREBUILT_ISO" ]
|
||||||
@@ -616,11 +598,11 @@ run-qemu-datasource-tests:
|
|||||||
END
|
END
|
||||||
ENV CLOUD_INIT=/tests/tests/$CLOUD_CONFIG
|
ENV CLOUD_INIT=/tests/tests/$CLOUD_CONFIG
|
||||||
|
|
||||||
RUN PATH=$PATH:$GOPATH/bin ginkgo -v --label-filter "$TEST_SUITE" --fail-fast -r ./tests/
|
RUN go run github.com/onsi/ginkgo/v2/ginkgo -v --label-filter "$TEST_SUITE" --fail-fast -r ./tests/
|
||||||
|
|
||||||
|
|
||||||
run-qemu-netboot-test:
|
run-qemu-netboot-test:
|
||||||
FROM +ginkgo
|
FROM +go-deps
|
||||||
COPY . /test
|
COPY . /test
|
||||||
WORKDIR /test
|
WORKDIR /test
|
||||||
|
|
||||||
@@ -645,18 +627,17 @@ run-qemu-netboot-test:
|
|||||||
ENV CREATE_VM=true
|
ENV CREATE_VM=true
|
||||||
ENV USE_QEMU=true
|
ENV USE_QEMU=true
|
||||||
ARG TEST_SUITE=netboot-test
|
ARG TEST_SUITE=netboot-test
|
||||||
ENV GOPATH="/go"
|
|
||||||
|
|
||||||
|
|
||||||
# TODO: use --pull or something to cache the python image in Earthly
|
# TODO: use --pull or something to cache the python image in Earthly
|
||||||
WITH DOCKER
|
WITH DOCKER
|
||||||
RUN docker run -d -v $PWD/build:/build --workdir=/build \
|
RUN docker run -d -v $PWD/build:/build --workdir=/build \
|
||||||
--net=host -it python:3.11.0-bullseye python3 -m http.server 80 && \
|
--net=host -it python:3.11.0-bullseye python3 -m http.server 80 && \
|
||||||
PATH=$PATH:$GOPATH/bin ginkgo --label-filter "$TEST_SUITE" --fail-fast -r ./tests/
|
go run github.com/onsi/ginkgo/v2/ginkgo --label-filter "$TEST_SUITE" --fail-fast -r ./tests/
|
||||||
END
|
END
|
||||||
|
|
||||||
run-qemu-test:
|
run-qemu-test:
|
||||||
FROM +ginkgo
|
FROM +go-deps
|
||||||
RUN apt install -y qemu-system-x86 qemu-utils git && apt clean
|
RUN apt install -y qemu-system-x86 qemu-utils git && apt clean
|
||||||
ARG FLAVOR
|
ARG FLAVOR
|
||||||
ARG TEST_SUITE=upgrade-with-cli
|
ARG TEST_SUITE=upgrade-with-cli
|
||||||
@@ -668,8 +649,6 @@ run-qemu-test:
|
|||||||
ENV CREATE_VM=true
|
ENV CREATE_VM=true
|
||||||
ENV USE_QEMU=true
|
ENV USE_QEMU=true
|
||||||
|
|
||||||
ENV GOPATH="/go"
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
IF [ -n "$PREBUILT_ISO" ]
|
IF [ -n "$PREBUILT_ISO" ]
|
||||||
ENV ISO=/build/$PREBUILT_ISO
|
ENV ISO=/build/$PREBUILT_ISO
|
||||||
@@ -677,7 +656,7 @@ run-qemu-test:
|
|||||||
COPY +iso/kairos.iso kairos.iso
|
COPY +iso/kairos.iso kairos.iso
|
||||||
ENV ISO=/build/kairos.iso
|
ENV ISO=/build/kairos.iso
|
||||||
END
|
END
|
||||||
RUN PATH=$PATH:$GOPATH/bin ginkgo -v --label-filter "$TEST_SUITE" --fail-fast -r ./tests/
|
RUN go run github.com/onsi/ginkgo/v2/ginkgo -v --label-filter "$TEST_SUITE" --fail-fast -r ./tests/
|
||||||
|
|
||||||
###
|
###
|
||||||
### Artifacts targets
|
### Artifacts targets
|
||||||
|
Reference in New Issue
Block a user