From fd54e00594e82bb70e14cdabeaae96910e9be35f Mon Sep 17 00:00:00 2001 From: Derek Nola Date: Fri, 31 May 2024 11:06:12 -0700 Subject: [PATCH] Remove Dapper (#301) * Simplify no-dapper workflow Signed-off-by: Derek Nola * Bump goimports Signed-off-by: Derek Nola * Remove dapper from build system Signed-off-by: Derek Nola * Remove dapper base image Signed-off-by: Derek Nola --------- Signed-off-by: Derek Nola --- .drone.yml | 32 +++++++++++++++++++------------- Dockerfile | 10 +++------- Dockerfile.dapper | 24 ------------------------ Makefile | 28 +++++++++------------------- scripts/ci | 8 -------- scripts/entry | 11 ----------- 6 files changed, 31 insertions(+), 82 deletions(-) delete mode 100644 Dockerfile.dapper delete mode 100755 scripts/ci delete mode 100755 scripts/entry diff --git a/.drone.yml b/.drone.yml index 8d0490b3..4abddae8 100644 --- a/.drone.yml +++ b/.drone.yml @@ -9,9 +9,11 @@ platform: steps: - name: build - image: rancher/dapper:v0.6.0 + image: docker:25.0.5 commands: - - dapper ci + - apk add make git bash file + - git config --global --add safe.directory /drone/src + - make environment: ARCH: "${DRONE_STAGE_ARCH}" volumes: @@ -68,7 +70,7 @@ steps: - refs/tags/* - name: test-image - image: rancher/dapper:v0.6.0 + image: docker:25.0.5 commands: - docker build -t kine:test-${DRONE_COMMIT} -f Dockerfile.test . environment: @@ -81,7 +83,7 @@ steps: - pull_request - name: test-sqlite - image: rancher/dapper:v0.6.0 + image: docker:25.0.5 depends_on: - build - test-image @@ -98,7 +100,7 @@ steps: - pull_request - name: test-mysql - image: rancher/dapper:v0.6.0 + image: docker:25.0.5 depends_on: - build - test-image @@ -115,7 +117,7 @@ steps: - pull_request - name: test-postgres - image: rancher/dapper:v0.6.0 + image: docker:25.0.5 depends_on: - build - test-image @@ -132,7 +134,7 @@ steps: - pull_request - name: test-cockroachdb - image: rancher/dapper:v0.6.0 + image: docker:25.0.5 depends_on: - build - test-image @@ -149,7 +151,7 @@ steps: - pull_request - name: test-schema-migration - image: rancher/dapper:v0.6.0 + image: docker:25.0.5 depends_on: - build - test-image @@ -166,7 +168,7 @@ steps: - pull_request - name: test-nats - image: rancher/dapper:v0.6.0 + image: docker:25.0.5 depends_on: - build - test-image @@ -206,9 +208,11 @@ platform: steps: - name: build - image: rancher/dapper:v0.6.0 + image: docker:25.0.5 commands: - - dapper ci + - apk add make git bash file + - git config --global --add safe.directory /drone/src + - make environment: ARCH: "${DRONE_STAGE_ARCH}" volumes: @@ -280,9 +284,11 @@ platform: steps: - name: build - image: rancher/dapper:v0.5.0 # Fixed to v0.5.0 as newer versions of dapper don't work on arm + image: docker:25.0.5 commands: - - dapper ci + - apk add make git bash file + - git config --global --add safe.directory /drone/src + - make environment: ARCH: "${DRONE_STAGE_ARCH}" volumes: diff --git a/Dockerfile b/Dockerfile index c336f949..16190df5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,10 +2,10 @@ FROM golang:1.21-alpine3.18 AS infra ARG ARCH=amd64 -RUN apk -U add bash coreutils git gcc musl-dev docker-cli vim less file curl wget ca-certificates -# go imports version gopls/v0.14.1 +RUN apk -U add bash coreutils git gcc musl-dev vim less curl wget ca-certificates +# go imports version gopls/v0.15.3 # https://github.com/golang/tools/releases/latest -RUN go install golang.org/x/tools/cmd/goimports@e985f842fa05caad2f3486f0711512aedffbcda8 +RUN go install golang.org/x/tools/cmd/goimports@cd70d50baa6daa949efa12e295e10829f3a7bd46 RUN rm -rf /go/src /go/pkg RUN if [ "${ARCH}" == "amd64" ]; then \ curl -sL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s; \ @@ -41,10 +41,6 @@ RUN --mount=type=cache,id=gomod,target=/go/pkg/mod \ --mount=type=cache,id=gobuild,target=/root/.cache/go-build \ ./scripts/build -COPY ./scripts/package ./scripts/entry ./scripts/ -COPY ./package ./package -CMD ./scripts/entry package - FROM scratch as binary ENV SRC_DIR=/go/src/github.com/k3s-io/kine COPY --from=build ${SRC_DIR}/bin /bin \ No newline at end of file diff --git a/Dockerfile.dapper b/Dockerfile.dapper deleted file mode 100644 index 1e6ab0a8..00000000 --- a/Dockerfile.dapper +++ /dev/null @@ -1,24 +0,0 @@ -FROM golang:1.21-alpine3.17 AS dapper - -ARG ARCH=amd64 - -RUN apk -U add bash coreutils git gcc musl-dev docker-cli vim less file curl wget ca-certificates -# go imports version gopls/v0.15.3 -# https://github.com/golang/tools/releases/latest -RUN go install golang.org/x/tools/cmd/goimports@cd70d50baa6daa949efa12e295e10829f3a7bd46 -RUN rm -rf /go/src /go/pkg - -RUN if [ "${ARCH}" == "amd64" ]; then \ - curl -sL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s; \ - fi - -ENV DAPPER_RUN_ARGS --privileged -v kine-cache:/go/src/github.com/k3s-io/kine/.cache -ENV DAPPER_ENV ARCH REPO TAG DRONE_TAG IMAGE_NAME CROSS SKIP_VALIDATE -ENV DAPPER_SOURCE /go/src/github.com/k3s-io/kine/ -ENV DAPPER_OUTPUT ./bin ./dist -ENV DAPPER_DOCKER_SOCKET true -ENV HOME ${DAPPER_SOURCE} -WORKDIR ${DAPPER_SOURCE} - -ENTRYPOINT ["./scripts/entry"] -CMD ["ci"] diff --git a/Makefile b/Makefile index bc851a4e..59c113aa 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,3 @@ -TARGETS := $(shell ls scripts | grep -v \\.sh) - -.dapper: - @echo Downloading dapper - @curl -sL https://releases.rancher.com/dapper/v0.6.0/dapper-$$(uname -s)-$$(uname -m) > .dapper.tmp - @@chmod +x .dapper.tmp - @./.dapper.tmp -v - @mv .dapper.tmp .dapper - -$(TARGETS): .dapper - ./.dapper $@ - .DEFAULT_GOAL := ci ARCH ?= amd64 @@ -20,16 +8,18 @@ ifneq ($(DIRTY),) DIRTY="-dirty" endif -.PHONY: no-dapper -no-dapper: +.PHONY: validate +validate: DOCKER_BUILDKIT=1 docker build \ $(DEFAULT_BUILD_ARGS) --build-arg="SKIP_VALIDATE=$(SKIP_VALIDATE)" \ --target=validate -f Dockerfile . - DOCKER_BUILDKIT=1 docker build \ - $(DEFAULT_BUILD_ARGS) --build-arg="DRONE_TAG=$(DRONE_TAG)" --build-arg="CROSS=$(CROSS)" \ - -f Dockerfile --target=build -t kine-build . + +.PHONY: build +build: DOCKER_BUILDKIT=1 docker build \ $(DEFAULT_BUILD_ARGS) --build-arg="DRONE_TAG=$(DRONE_TAG)" --build-arg="CROSS=$(CROSS)" \ -f Dockerfile --target=binary --output=. . - DOCKER_BUILDKIT=1 docker run -v /var/run/docker.sock:/var/run/docker.sock -v ./dist:/go/src/github.com/k3s-io/kine/dist \ - -e DAPPER_UID=1000 -e DAPPER_GID=1000 -e IMAGE_NAME -e DRONE_TAG -e DIRTY=$(DIRTY) kine-build \ No newline at end of file + +.PHONY: ci +ci: validate build + ARCH=$(ARCH) ./scripts/package \ No newline at end of file diff --git a/scripts/ci b/scripts/ci deleted file mode 100755 index 74dcc397..00000000 --- a/scripts/ci +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -set -e - -cd $(dirname $0) - -./validate -./build -./package diff --git a/scripts/entry b/scripts/entry deleted file mode 100755 index 78fb5679..00000000 --- a/scripts/entry +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -set -e - -mkdir -p bin dist -if [ -e ./scripts/$1 ]; then - ./scripts/"$@" -else - exec "$@" -fi - -chown -R $DAPPER_UID:$DAPPER_GID .