refactor: buildx

This commit is contained in:
Felipe M. 2024-01-01 10:00:09 +01:00
parent d3bedcfe55
commit 9b50b33f23
Signed by: fmartingr
GPG Key ID: CCFBC5637D4000A8
3 changed files with 18 additions and 4 deletions

View File

@ -1,7 +1,8 @@
# Build stage
ARG ALPINE_VERSION
ARG GOLANG_VERSION
FROM docker.io/library/alpine:${ALPINE_VERSION} AS builder
FROM ghcr.io/ghcri/golang:${GOLANG_VERSION}-alpine${ALPINE_VERSION} AS builder
ARG TARGETARCH
ARG TARGETOS
ARG TARGETVARIANT

View File

@ -1,4 +1,5 @@
PROJECT_NAME := bazaar
GOLANG_VERSION := $(shell head -n 3 go.mod | tail -n 1 | cut -d " " -f 2)
SOURCE_FILES ?=./internal/... ./cmd/... ./pkg/...
@ -19,6 +20,8 @@ CONTAINER_ALPINE_VERSION := 3.19
BUILDX_PLATFORMS := linux/amd64,arm64,linux/arm/v7
# Common exports
export GOLANG_VERSION
export FROM_MAKEFILE
export CGO_ENABLED
@ -62,7 +65,7 @@ build: clean ### builds the project for the setup os/arch combinations
@goreleaser build --clean --snapshot
.PHONY: buildx
buildx:
buildx: build
$(info: Make: Buildx)
@bash scripts/buildx.sh

View File

@ -8,14 +8,24 @@ fi
CONTAINER_RUNTIME=docker # Forcing docker
# Check if the bazaar_builder builder exists
if [ "$CONTAINER_RUNTIME" == "docker" ]; then
$CONTAINER_RUNTIME buildx create --use --name bazaar_builder
if [ -z "$($CONTAINER_RUNTIME buildx ls | grep bazaar_builder)" ]; then
echo "Creating bazaar_builder builder"
$CONTAINER_RUNTIME buildx create --use --name bazaar_builder
fi
fi
cp -r dist/bazaar_linux_arm_7 dist/bazaar_linux_armv7
cp -r dist/bazaar_linux_amd64_v1 dist/bazaar_linux_amd64
$CONTAINER_RUNTIME buildx build -f ${CONTAINERFILE_NAME} --platform=${BUILDX_PLATFORMS} --build-arg "ALPINE_VERSION=${CONTAINER_ALPINE_VERSION}" ${CONTAINER_BUILDX_OPTIONS} .
$CONTAINER_RUNTIME buildx build \
-f ${CONTAINERFILE_NAME} \
--platform=${BUILDX_PLATFORMS} \
--build-arg "ALPINE_VERSION=${CONTAINER_ALPINE_VERSION}" \
--build-arg "GOLANG_VERSION=${GOLANG_VERSION}" \
${CONTAINER_BUILDX_OPTIONS} \
.
if [ "$CONTAINER_RUNTIME" == "docker" ]; then
$CONTAINER_RUNTIME buildx rm bazaar_builder