Tidy
All checks were successful
dropshell-build / build (push) Successful in 36s

This commit is contained in:
Your Name 2025-06-12 21:29:00 +12:00
parent 4519f062b2
commit dbbef4fc0e
3 changed files with 27 additions and 8 deletions

View File

@ -13,11 +13,20 @@ This repository contains a Docker-based build system for creating statically-lin
## Key Commands ## Key Commands
### Building the Base Image ### Building the Base Image
For local testing (single architecture):
```bash ```bash
cd build-base cd build-base
./build.sh ./build.sh
``` ```
This creates the `gitea.jde.nz/public/dropshell-build-base:latest` Docker image with all dependencies. This creates the `gitea.jde.nz/public/dropshell-build-base:latest` Docker image for your current architecture and loads it into Docker.
For multiarch build (without loading):
```bash
cd build-base
BUILD_MODE=multiarch ./build.sh
```
This builds for linux/amd64 and linux/arm64 but keeps the image in the buildx cache only.
### Building a Project ### Building a Project
```bash ```bash

View File

@ -7,10 +7,20 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
# Create buildx builder if it doesn't exist # Create buildx builder if it doesn't exist
docker buildx create --name multiarch --use 2>/dev/null || docker buildx use multiarch docker buildx create --name multiarch --use 2>/dev/null || docker buildx use multiarch
# Build multi-platform image locally (store in builder cache) # Detect if we're building for testing or publishing
docker buildx build \ if [ "${BUILD_MODE:-test}" = "multiarch" ]; then
--platform linux/amd64,linux/arm64 \ # Build multi-platform image (for publishing)
-t "gitea.jde.nz/public/dropshell-build-base:latest" \ docker buildx build \
-f "${SCRIPT_DIR}/Dockerfile.dropshell-build-base" \ --platform linux/amd64,linux/arm64 \
${SCRIPT_DIR} -t "gitea.jde.nz/public/dropshell-build-base:latest" \
-f "${SCRIPT_DIR}/Dockerfile.dropshell-build-base" \
${SCRIPT_DIR}
else
# Build single-platform image for current architecture and load it
docker buildx build \
--load \
-t "gitea.jde.nz/public/dropshell-build-base:latest" \
-f "${SCRIPT_DIR}/Dockerfile.dropshell-build-base" \
${SCRIPT_DIR}
fi

View File

@ -16,7 +16,7 @@ die() {
# Publish gitea.jde.nz/public/dropshell-build-base:latest # Publish gitea.jde.nz/public/dropshell-build-base:latest
docker login -u "anything" -p "${DOCKER_PUSH_TOKEN}" gitea.jde.nz docker login -u "anything" -p "${DOCKER_PUSH_TOKEN}" gitea.jde.nz
# Push the multi-platform image that was built by build-base/build.sh # Build and push the multi-platform image
docker buildx build \ docker buildx build \
--platform linux/amd64,linux/arm64 \ --platform linux/amd64,linux/arm64 \
-t "gitea.jde.nz/public/dropshell-build-base:latest" \ -t "gitea.jde.nz/public/dropshell-build-base:latest" \