# Justfile — task targets that don't fit cleanly into the Makefile. # # The Makefile remains canonical for build / gen / test / bench. Use Just # for orchestration that wraps Docker or other host-level workflows. set shell := ["bash", "-cu"] image := "tarantool-protobuf-conformance:latest" # Show available recipes. default: @just --list # Build the conformance image (idempotent — Docker caches layers). conformance-build: docker build -t {{image}} -f docker/conformance.Dockerfile docker/ # Run the Google conformance suite against cmd/conformance-runner.lua. conformance: conformance-build make gen docker run --rm -v "$(pwd):/work" -w /work {{image}} # Same as `conformance`, but skips --enforce_recommended for a quick pass. conformance-quick: conformance-build make gen docker run --rm -v "$(pwd):/work" -w /work --entrypoint conformance_test_runner {{image}} \ --failure_list test/conformance/known_failures.txt \ --text_format_failure_list test/conformance/known_failures_text.txt \ /usr/bin/tarantool cmd/conformance-runner.lua # Dump failing_tests.txt under test/conformance for known_failures triage. conformance-refresh-failures: conformance-build make gen docker run --rm -v "$(pwd):/work" -w /work --entrypoint conformance_test_runner {{image}} \ --enforce_recommended \ --output_dir /work/test/conformance \ /usr/bin/tarantool cmd/conformance-runner.lua || true @echo "Inspect test/conformance/*failing_tests.txt and update known_failures.txt as needed." # Open an interactive shell in the conformance image. conformance-shell: conformance-build docker run --rm -it -v "$(pwd):/work" -w /work --entrypoint bash {{image}}