Dynamically use docker buildx build if available, otherwise fallback to docker build.

This commit is contained in:
Sudo-Ivan
2025-07-14 16:59:02 -05:00
parent 09d84c2533
commit d0dd9e88c4

View File

@@ -1,5 +1,8 @@
# Makefile for rns-page-node # Makefile for rns-page-node
# Detect if docker buildx is available
DOCKER_BUILD := $(shell docker buildx version >/dev/null 2>&1 && echo "docker buildx build" || echo "docker build")
.PHONY: all build sdist wheel clean install lint format docker-wheels docker-build docker-run docker-build-rootless docker-run-rootless help test docker-test .PHONY: all build sdist wheel clean install lint format docker-wheels docker-build docker-run docker-build-rootless docker-run-rootless help test docker-test
all: build all: build
@@ -26,13 +29,13 @@ format:
ruff check --fix . ruff check --fix .
docker-wheels: docker-wheels:
docker build --target builder -f Dockerfile.build -t rns-page-node-builder . $(DOCKER_BUILD) --target builder -f Dockerfile.build -t rns-page-node-builder .
docker create --name builder-container rns-page-node-builder true docker create --name builder-container rns-page-node-builder true
docker cp builder-container:/src/dist ./dist docker cp builder-container:/src/dist ./dist
docker rm builder-container docker rm builder-container
docker-build: docker-build:
docker build $(BUILD_ARGS) -f Dockerfile -t rns-page-node:latest . $(DOCKER_BUILD) $(BUILD_ARGS) -f Dockerfile -t rns-page-node:latest .
docker-run: docker-run:
docker run --rm -it \ docker run --rm -it \
@@ -47,7 +50,7 @@ docker-run:
--announce-interval 360 --announce-interval 360
docker-build-rootless: docker-build-rootless:
docker build $(BUILD_ARGS) -f Dockerfile.rootless -t rns-page-node-rootless:latest . $(DOCKER_BUILD) $(BUILD_ARGS) -f Dockerfile.rootless -t rns-page-node-rootless:latest .
docker-run-rootless: docker-run-rootless:
docker run --rm -it \ docker run --rm -it \
@@ -65,7 +68,7 @@ test:
bash tests/run_tests.sh bash tests/run_tests.sh
docker-test: docker-test:
docker build -f tests/Dockerfile.tests -t rns-page-node-tests . $(DOCKER_BUILD) -f tests/Dockerfile.tests -t rns-page-node-tests .
docker run --rm rns-page-node-tests docker run --rm rns-page-node-tests
help: help: