diff --git a/.drone.yml b/.drone.yml index 7ac42530b4..0cf5779233 100644 --- a/.drone.yml +++ b/.drone.yml @@ -254,6 +254,28 @@ volumes: host: path: /var/run/docker.sock +--- +kind: pipeline +name: validate_go_mods + +platform: + os: linux + arch: amd64 + +steps: + - name: validate_go_mods + image: rancher/dapper:v0.5.0 + commands: + - dapper -f Dockerfile.test.mod.dapper + + volumes: + - name: docker + path: /var/run/docker.sock +volumes: + - name: docker + host: + path: /var/run/docker.sock + --- kind: pipeline name: manifest diff --git a/Dockerfile.test.mod.dapper b/Dockerfile.test.mod.dapper new file mode 100644 index 0000000000..ec1232b76e --- /dev/null +++ b/Dockerfile.test.mod.dapper @@ -0,0 +1,11 @@ +ARG GOLANG=golang:1.16.2-alpine3.12 +FROM ${GOLANG} + +RUN apk -U --no-cache add bash jq +ENV DAPPER_SOURCE /go/src/github.com/rancher/k3s/ +ENV HOME ${DAPPER_SOURCE} +WORKDIR ${DAPPER_SOURCE} + +COPY ./scripts/test-mods /bin/ + +ENTRYPOINT ["/bin/test-mods"] diff --git a/scripts/test-mods b/scripts/test-mods new file mode 100755 index 0000000000..cc120286f9 --- /dev/null +++ b/scripts/test-mods @@ -0,0 +1,10 @@ +#!/bin/bash +set -e -x + +res=$(go mod edit --json | jq '.Replace[] | select(.Old.Path | contains("k8s.io/")) | .New.Path' | grep -v k3s-io | wc -l) +if [ $res -gt 0 ];then + echo "Incorrect kubernetes replacement fork in go.mod" + exit 1 +else + exit 0 +fi