Positions de référence évaluées par gnubg (0 et 2 plis)
32 positions (ouvertures, milieu, prime, blitz, course, sortie, videau, match, Crawford, Jacoby), générées par make reference ; format documenté dans tests/reference/README.md, vérifié par tests/test_reference.sh. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
8677193bee
commit
b199698b11
@@ -11,20 +11,23 @@ BUILD_DIR := build
|
||||
|
||||
# Outils lancés dans Docker (aucune installation sur le PC).
|
||||
SHELLCHECK_IMAGE := koalaman/shellcheck-alpine:v0.10.0
|
||||
# GNU Backgammon de référence, compilé au commit figé par l'ADR 0005.
|
||||
REFERENCE_IMAGE := ustagammon/gnubg-reference:14b6798
|
||||
|
||||
export SHELLCHECK_IMAGE
|
||||
|
||||
.PHONY: help setup build test lint deploy clean
|
||||
.PHONY: help setup build test lint deploy clean reference-image reference
|
||||
|
||||
help: ## Liste les commandes disponibles
|
||||
@echo "Ustagammon : commandes disponibles"
|
||||
@grep -E '^[a-zA-Z0-9_-]+:.*## ' $(MAKEFILE_LIST) \
|
||||
| awk 'BEGIN { FS = ":.*## " } { printf " make %-12s %s\n", $$1, $$2 }'
|
||||
| awk 'BEGIN { FS = ":.*## " } { printf " make %-16s %s\n", $$1, $$2 }'
|
||||
|
||||
setup: ## Installe la chaîne d'outils (images Docker) ; sans effet si déjà fait
|
||||
@command -v docker >/dev/null || { echo "Docker est requis : sudo apt install docker.io"; exit 1; }
|
||||
@docker image inspect $(SHELLCHECK_IMAGE) >/dev/null 2>&1 \
|
||||
|| docker pull $(SHELLCHECK_IMAGE)
|
||||
@$(MAKE) reference-image
|
||||
@echo "Chaîne d'outils prête."
|
||||
|
||||
build: ## Compile le moteur (si nécessaire) puis l'application
|
||||
@@ -42,3 +45,13 @@ deploy: ## Installe l'application sur le téléphone (pas encore disponible)
|
||||
|
||||
clean: ## Supprime les artefacts de build (garde les images Docker)
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
reference-image: ## Construit l'image Docker du gnubg de référence (cache Docker : rapide si à jour)
|
||||
docker build -t $(REFERENCE_IMAGE) docker/gnubg-reference
|
||||
@echo "Image $(REFERENCE_IMAGE) prête."
|
||||
|
||||
reference: reference-image ## Régénère tests/reference/results/ avec le gnubg de référence
|
||||
rm -rf tests/reference/results
|
||||
docker run --rm --user "$$(id -u):$$(id -g)" -e HOME=/tmp \
|
||||
-v "$(CURDIR)/tests/reference:/reference" $(REFERENCE_IMAGE) \
|
||||
gnubg --tty --quiet --no-rc --python=/reference/generate.py
|
||||
|
||||
Reference in New Issue
Block a user