Merge pull request #238 from maziggy/0.1.7

v0.1.7
This commit is contained in:
MartinNYHC
2026-02-03 11:45:19 +01:00
committed by GitHub
2 changed files with 13 additions and 29 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ from pathlib import Path
from pydantic_settings import BaseSettings
# Application version - single source of truth
APP_VERSION = "0.1.7b"
APP_VERSION = "0.1.7"
GITHUB_REPO = "maziggy/bambuddy"
# App directory - where the application is installed (for static files)
+12 -28
View File
@@ -2,12 +2,13 @@
# Build and push multi-architecture Docker image to GitHub Container Registry
#
# Usage:
# ./scripts/docker-publish.sh [version] [--parallel]
# ./docker-publish.sh [version] [--parallel]
#
# Examples:
# ./scripts/docker-publish.sh 0.1.6 # Sequential build (default)
# ./scripts/docker-publish.sh 0.1.6 --parallel # Build both archs simultaneously
# ./scripts/docker-publish.sh 0.1.6-beta # Pre-release (no latest tag)
# ./docker-publish.sh 0.1.7b # Sequential build (default)
# ./docker-publish.sh 0.1.7b --parallel # Build both archs simultaneously
#
# Note: All versions are also tagged as 'latest'
#
# Prerequisites:
# 1. Log in to ghcr.io first:
@@ -82,11 +83,7 @@ if ! grep -q "ghcr.io" ~/.docker/config.json 2>/dev/null; then
echo ""
fi
# Determine if this is a release version (includes betas for now)
IS_RELEASE=false
if [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(b[0-9]+)?$ ]]; then
IS_RELEASE=true
fi
# Always tag as latest (in addition to version tag)
# Setup buildx builder if not exists
echo -e "${BLUE}[1/4] Setting up Docker Buildx...${NC}"
@@ -113,14 +110,9 @@ if ! docker buildx inspect --bootstrap | grep -q "linux/arm64"; then
docker run --privileged --rm tonistiigi/binfmt --install all
fi
# Build tags
TAGS="-t ${FULL_IMAGE}:${VERSION}"
if [ "$IS_RELEASE" = true ]; then
TAGS="$TAGS -t ${FULL_IMAGE}:latest"
echo -e "${BLUE}[3/4] Building and pushing (version + latest)...${NC}"
else
echo -e "${BLUE}[3/4] Building and pushing (version only, no latest)...${NC}"
fi
# Build tags (always include latest)
TAGS="-t ${FULL_IMAGE}:${VERSION} -t ${FULL_IMAGE}:latest"
echo -e "${BLUE}[3/4] Building and pushing (version + latest)...${NC}"
# Common build args (no cache to ensure clean builds)
BUILD_ARGS="--provenance=false --sbom=false --no-cache --pull"
@@ -160,19 +152,13 @@ if [ "$PARALLEL" = true ]; then
wait $PID_AMD64
wait $PID_ARM64
# Create and push multi-arch manifest
# Create and push multi-arch manifest (version + latest)
echo -e "${BLUE}Creating multi-arch manifest...${NC}"
docker buildx imagetools create \
-t "${FULL_IMAGE}:${VERSION}" \
-t "${FULL_IMAGE}:latest" \
"${FULL_IMAGE}:${VERSION}-amd64" \
"${FULL_IMAGE}:${VERSION}-arm64"
if [ "$IS_RELEASE" = true ]; then
docker buildx imagetools create \
-t "${FULL_IMAGE}:latest" \
"${FULL_IMAGE}:${VERSION}-amd64" \
"${FULL_IMAGE}:${VERSION}-arm64"
fi
else
# Sequential build (default): Build both platforms in one command
echo -e "${YELLOW}Building sequentially with ${CPU_COUNT} cores (no cache)...${NC}"
@@ -192,9 +178,7 @@ echo -e "${GREEN}================================================${NC}"
echo -e "${GREEN}✓ Successfully pushed multi-arch image:${NC}"
echo -e "${GREEN}================================================${NC}"
echo " - ${FULL_IMAGE}:${VERSION}"
if [ "$IS_RELEASE" = true ]; then
echo " - ${FULL_IMAGE}:latest"
fi
echo " - ${FULL_IMAGE}:latest"
echo ""
echo -e "${BLUE}Supported platforms:${NC}"
echo " - linux/amd64 (Intel/AMD servers, desktops)"