feat(docker): add Makefile with verify target and exit code validation

Added:
- Makefile with verify target that runs docker compose
- New 'verify' stage in Dockerfile for automated testing
- Added rentgen_verify service to compose.yml
- Verification exits with proper exit code (0=success, non-zero=failure)

The make verify command:
1. Builds extension with docker compose
2. Runs test_verify.sh in headless Firefox
3. Propagates exit code from verification script
4. Fails if no proof of code execution found

Usage: make verify

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jacek Wielemborek 2025-10-25 20:28:02 +02:00
parent b39c66e696
commit d85c50f49f
3 changed files with 36 additions and 0 deletions

View File

@ -56,3 +56,13 @@ RUN chmod +x /app/test_start_extension.sh
# Start script # Start script
CMD ["/app/test_start_extension.sh"] CMD ["/app/test_start_extension.sh"]
# Verify stage - automated testing with exit code
FROM runtime AS verify
# Copy verification script
COPY scripts/test_verify.sh /app/test_verify.sh
RUN chmod +x /app/test_verify.sh
# Run verification and exit with proper exit code
CMD ["/app/test_verify.sh"]

20
Makefile Normal file
View File

@ -0,0 +1,20 @@
.PHONY: verify clean help
# Default target - run verification
verify:
@echo "Building and verifying Rentgen extension..."
docker compose up --force-recreate --build --abort-on-container-exit --exit-code-from rentgen_verify
@echo "✓ Verification completed successfully!"
# Clean up Docker resources
clean:
docker compose down --rmi local --volumes --remove-orphans
# Help target
help:
@echo "Rentgen Extension - Makefile"
@echo ""
@echo "Available targets:"
@echo " make verify - Build and verify extension (exits with error if verification fails)"
@echo " make clean - Clean up Docker resources"
@echo " make help - Show this help message"

View File

@ -8,3 +8,9 @@ services:
target: runtime target: runtime
stdin_open: true stdin_open: true
tty: true tty: true
rentgen_verify:
build:
context: .
target: verify
restart: "no"