robot: Improve golang CI runs (#1165)

This commit is contained in:
Itxaka
2023-03-17 16:45:43 +01:00
parent bd20a74349
commit 1fc9a53e19

View File

@@ -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