chore(provider): More cleanups.
Some checks failed
Go Tests / go-tests (push) Failing after 1m4s

This commit is contained in:
Waldemar 2025-10-23 11:40:39 +02:00
parent 79e75ba819
commit dadb5076f2
Signed by: waldemar.kindler
SSH key fingerprint: SHA256:wlTo/iRV2dOcNfLJPdlwSsLvA1BH+gT9449nlU9sHXo
7 changed files with 10 additions and 164 deletions

View file

@ -1,15 +1,6 @@
FROM docker.io/golang:alpine FROM golang AS builder
COPY . .
RUN go build -o /main main.go
WORKDIR /root FROM ghcr.io/cloudbase/garm:nightly
USER root COPY --from=builder ./main /opt/garm/providers.d/garm-provider-edge-connect
RUN apk add musl-dev gcc libtool m4 autoconf g++ make libblkid util-linux-dev git linux-headers mingw-w64-gcc
RUN wget http://musl.cc/aarch64-linux-musl-cross.tgz -O /tmp/aarch64-linux-musl-cross.tgz && \
tar --strip-components=1 -C /usr/local -xzf /tmp/aarch64-linux-musl-cross.tgz && \
rm /tmp/aarch64-linux-musl-cross.tgz
ADD ./scripts/build-static.sh /build-static.sh
RUN chmod +x /build-static.sh
CMD ["/bin/sh"]

View file

@ -1,7 +0,0 @@
FROM golang AS builder
COPY . .
RUN go build -o /main main.go
FROM ghcr.io/cloudbase/garm:nightly
COPY --from=builder ./main /opt/garm/providers.d/garm-provider-edge-connect
COPY mockprovider.sh /opt/garm/providers.d/mockprovider

View file

@ -13,21 +13,13 @@ GARM_PROVIDER_NAME := garm-provider-edge-connect
default: build default: build
.PHONY : build build-static test install-lint-deps lint go-test fmt fmtcheck verify-vendor verify create-release-files release .PHONY : build test install-lint-deps lint go-test fmt fmtcheck verify
build: build:
@$(GO) build . @$(GO) build .
clean: ## Clean up build artifacts clean: ## Clean up build artifacts
@rm -rf ./bin ./build ./release @rm -rf ./bin ./build ./release
build-static:
@echo Building
$(IMAGE_BUILDER) build --tag $(IMAGE_TAG) .
mkdir -p build
$(IMAGE_BUILDER) run --rm -e GARM_PROVIDER_NAME=$(GARM_PROVIDER_NAME) -e USER_ID=$(USER_ID) -e USER_GROUP=$(USER_GROUP) -v $(PWD)/build:/build/output:z -v $(PWD):/build/$(GARM_PROVIDER_NAME):z -v /etc/ssl/certs/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt $(IMAGE_TAG) /build-static.sh
@echo Binaries are available in $(PWD)/build
test: install-lint-deps verify go-test test: install-lint-deps verify go-test
install-lint-deps: install-lint-deps:
@ -45,17 +37,4 @@ fmt:
fmtcheck: fmtcheck:
@gofmt -l -s $$(go list ./... | sed -n 's/github.com\/cloudbase\/'$(GARM_PROVIDER_NAME)'\/\(.*\)/\1/p') | grep ".*\.go"; if [ "$$?" -eq 0 ]; then echo "gofmt check failed; please tun gofmt -w -s"; exit 1;fi @gofmt -l -s $$(go list ./... | sed -n 's/github.com\/cloudbase\/'$(GARM_PROVIDER_NAME)'\/\(.*\)/\1/p') | grep ".*\.go"; if [ "$$?" -eq 0 ]; then echo "gofmt check failed; please tun gofmt -w -s"; exit 1;fi
verify-vendor: ## verify if all the go.mod/go.sum files are up-to-date verify: lint fmtcheck
$(eval TMPDIR := $(shell mktemp -d))
@cp -R ${ROOTDIR} ${TMPDIR}
@(cd ${TMPDIR}/$(GARM_PROVIDER_NAME) && ${GO} mod tidy)
@diff -r -u -q ${ROOTDIR} ${TMPDIR}/$(GARM_PROVIDER_NAME) >/dev/null 2>&1; if [ "$$?" -ne 0 ];then echo "please run: go mod tidy && go mod vendor"; exit 1; fi
@rm -rf ${TMPDIR}
verify: verify-vendor lint fmtcheck
##@ Release
create-release-files:
./scripts/make-release.sh
release: build-static create-release-files ## Create a release

View file

@ -12,7 +12,7 @@ In the garm project edit the file deploy.yaml:
Use these commands in the current project. Use these commands in the current project.
´´´bash ´´´bash
docker buildx build -t edp.buildth.ing/devfw-cicd/garm:provider-ec-[new_number] -f Dockerfile.kaesekuchen --push . docker buildx build -t edp.buildth.ing/devfw-cicd/garm:provider-ec-[new_number] --push .
kubectl apply -f ../garm/deploy.yaml kubectl apply -f ../garm/deploy.yaml
´´´ ´´´

View file

@ -1,13 +0,0 @@
#!/bin/sh
LOG_FILE=./mock.log
env | sort | grep -v PASSWORD >> $LOG_FILE
echo Parameters $@ >> $LOG_FILE
while read line
do
echo stdin "$line" >> $LOG_FILE
done < "/dev/stdin"
echo ======================================================================================= >> $LOG_FILE

View file

@ -1,48 +0,0 @@
#!/bin/sh
GARM_PROVIDER_NAME=${GARM_PROVIDER_NAME:-garm-provider-edge-connect}
GARM_SOURCE="/build/$GARM_PROVIDER_NAME"
git config --global --add safe.directory /build/$GARM_PROVIDER_NAME
cd $GARM_SOURCE
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [ ! -z "$GARM_REF" ] && [ "$GARM_REF" != "$CURRENT_BRANCH" ];then
git checkout $GARM_REF
fi
cd $GARM_SOURCE
OUTPUT_DIR="/build/output"
VERSION=$(git describe --tags --match='v[0-9]*' --dirty --always)
BUILD_DIR="$OUTPUT_DIR/$VERSION"
[ ! -d "$BUILD_DIR/linux" ] && mkdir -p "$BUILD_DIR/linux"
[ ! -d "$BUILD_DIR/windows" ] && mkdir -p "$BUILD_DIR/windows"
export CGO_ENABLED=1
USER_ID=${USER_ID:-$UID}
USER_GROUP=${USER_GROUP:-$(id -g)}
# Garm
cd $GARM_SOURCE
# Linux
GOOS=linux GOARCH=amd64 go build -mod vendor \
-o $BUILD_DIR/linux/amd64/$GARM_PROVIDER_NAME \
-tags osusergo,netgo,sqlite_omit_load_extension \
-ldflags "-extldflags '-static' -s -w -X edp.buildth.ing/DevFW-CICD/garm-provider-edge-connect/provider.Version=$VERSION" .
GOOS=linux GOARCH=arm64 CC=aarch64-linux-musl-gcc go build \
-mod vendor \
-o $BUILD_DIR/linux/arm64/$GARM_PROVIDER_NAME \
-tags osusergo,netgo,sqlite_omit_load_extension \
-ldflags "-extldflags '-static' -s -w -X edp.buildth.ing/DevFW-CICD/garm-provider-edge-connect/provider.Version=$VERSION" .
# Windows
GOOS=windows GOARCH=amd64 CC=x86_64-w64-mingw32-cc go build -mod vendor \
-o $BUILD_DIR/windows/amd64/$GARM_PROVIDER_NAME.exe \
-tags osusergo,netgo,sqlite_omit_load_extension \
-ldflags "-s -w -X edp.buildth.ing/DevFW-CICD/garm-provider-edge-connect/provider.Version=$VERSION" .
git checkout $CURRENT_BRANCH || true
chown $USER_ID:$USER_GROUP -R "$OUTPUT_DIR"

View file

@ -1,56 +0,0 @@
#!/bin/bash
echo $GARM_REF
GARM_PROVIDER_NAME=${GARM_PROVIDER_NAME:-garm-provider-edge-connect}
VERSION=$(git describe --tags --match='v[0-9]*' --dirty --always)
RELEASE="$PWD/release"
[ ! -d "$RELEASE" ] && mkdir -p "$RELEASE"
if [ ! -z "$GARM_REF" ]; then
VERSION=$(git describe --tags --match='v[0-9]*' --always $GARM_REF)
fi
echo $VERSION
if [ ! -d "build/$VERSION" ]; then
echo "missing build/$VERSION"
exit 1
fi
# Windows
if [ ! -d "build/$VERSION/windows/amd64" ];then
echo "missing build/$VERSION/windows/amd64"
exit 1
fi
if [ ! -f "build/$VERSION/windows/amd64/$GARM_PROVIDER_NAME.exe" ];then
echo "missing build/$VERSION/windows/amd64/$GARM_PROVIDER_NAME.exe"
exit 1
fi
pushd build/$VERSION/windows/amd64
zip $GARM_PROVIDER_NAME-windows-amd64.zip $GARM_PROVIDER_NAME.exe
sha256sum $GARM_PROVIDER_NAME-windows-amd64.zip > $GARM_PROVIDER_NAME-windows-amd64.zip.sha256
mv $GARM_PROVIDER_NAME-windows-amd64.zip $RELEASE
mv $GARM_PROVIDER_NAME-windows-amd64.zip.sha256 $RELEASE
popd
# Linux
OS_ARCHES=("amd64" "arm64")
for arch in ${OS_ARCHES[@]};do
if [ ! -f "build/$VERSION/linux/$arch/$GARM_PROVIDER_NAME" ];then
echo "missing build/$VERSION/linux/$arch/$GARM_PROVIDER_NAME"
exit 1
fi
pushd build/$VERSION/linux/$arch
tar czf $GARM_PROVIDER_NAME-linux-$arch.tgz $GARM_PROVIDER_NAME
sha256sum $GARM_PROVIDER_NAME-linux-$arch.tgz > $GARM_PROVIDER_NAME-linux-$arch.tgz.sha256
mv $GARM_PROVIDER_NAME-linux-$arch.tgz $RELEASE
mv $GARM_PROVIDER_NAME-linux-$arch.tgz.sha256 $RELEASE
popd
done