This commit is contained in:
parent
4519f062b2
commit
dbbef4fc0e
11
CLAUDE.md
11
CLAUDE.md
@ -13,11 +13,20 @@ This repository contains a Docker-based build system for creating statically-lin
|
||||
## Key Commands
|
||||
|
||||
### Building the Base Image
|
||||
|
||||
For local testing (single architecture):
|
||||
```bash
|
||||
cd build-base
|
||||
./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
|
||||
```bash
|
||||
|
@ -7,10 +7,20 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
# Create buildx builder if it doesn't exist
|
||||
docker buildx create --name multiarch --use 2>/dev/null || docker buildx use multiarch
|
||||
|
||||
# Build multi-platform image locally (store in builder cache)
|
||||
docker buildx build \
|
||||
--platform linux/amd64,linux/arm64 \
|
||||
-t "gitea.jde.nz/public/dropshell-build-base:latest" \
|
||||
-f "${SCRIPT_DIR}/Dockerfile.dropshell-build-base" \
|
||||
${SCRIPT_DIR}
|
||||
# Detect if we're building for testing or publishing
|
||||
if [ "${BUILD_MODE:-test}" = "multiarch" ]; then
|
||||
# Build multi-platform image (for publishing)
|
||||
docker buildx build \
|
||||
--platform linux/amd64,linux/arm64 \
|
||||
-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
|
||||
|
@ -16,7 +16,7 @@ die() {
|
||||
# Publish gitea.jde.nz/public/dropshell-build-base:latest
|
||||
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 \
|
||||
--platform linux/amd64,linux/arm64 \
|
||||
-t "gitea.jde.nz/public/dropshell-build-base:latest" \
|
||||
|
Loading…
x
Reference in New Issue
Block a user