Commit b16da86
authored
feat: tools/test-matrix.sh — local Docker mirror of compat-matrix CI (#2420)
Adds a single command-line entry point for running the cross-engine ×
cross-database test matrix locally via Docker, mirroring the
compat-matrix.yml CI workflow.
Drives the existing tools/docker/ Dockerfiles and root compose.yml — no
new container images, no changes to CI, no changes to per-engine images.
Just a wrapper that:
- Forces COMPOSE_PROJECT_NAME=wheels so containers are named
wheels-<svc>-1, matching every CI assertion (otherwise Docker
Compose names them after the cwd).
- Uses portable wait loops (no GNU coreutils `timeout` — works on
macOS bash 3.2 out of the box).
- Mirrors compat-matrix.yml's engine-restart-between-DB-runs logic so
cached model metadata doesn't leak across DB suites.
- Parses test JSON the same way tools/ci/run-tests.sh does and prints
pass/fail/error summary plus the actual failing spec names.
Usage:
tools/test-matrix.sh # Lucee 7 + SQLite (happy path)
tools/test-matrix.sh lucee7 mysql # Lucee 7 + MySQL
tools/test-matrix.sh lucee7 sqlite,mysql # Multiple DBs against one engine
tools/test-matrix.sh lucee6,lucee7 sqlite # Multiple engines against one DB
tools/test-matrix.sh --all # Full matrix (every engine × every DB)
tools/test-matrix.sh --rebuild lucee7 # Force docker compose build
tools/test-matrix.sh --down # Tear everything down
Source is bind-mounted via compose.yml (./:/wheels-test-suite), so
edit-reload-test cycles don't require image rebuilds — only the Wheels
application reloads between iterations. Default: containers stay running
between invocations for fast iteration.
Replaces the stale "Docker — Legacy" section in CLAUDE.md (which
referenced a non-existent rig/ directory and a manual ad-hoc curl
recipe) with the new wrapper as the primary documented path.1 parent ef70e59 commit b16da86
2 files changed
Lines changed: 439 additions & 40 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
555 | 555 | | |
556 | 556 | | |
557 | 557 | | |
558 | | - | |
| 558 | + | |
559 | 559 | | |
560 | | - | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
561 | 567 | | |
562 | | - | |
563 | | - | |
564 | | - | |
565 | 568 | | |
566 | | - | |
567 | | - | |
568 | | - | |
569 | | - | |
570 | | - | |
571 | | - | |
572 | | - | |
573 | | - | |
574 | | - | |
575 | | - | |
576 | | - | |
577 | | - | |
578 | | - | |
579 | | - | |
580 | | - | |
581 | | - | |
582 | | - | |
583 | | - | |
584 | | - | |
585 | | - | |
586 | | - | |
587 | | - | |
588 | | - | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
589 | 576 | | |
590 | 577 | | |
591 | | - | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
592 | 591 | | |
593 | 592 | | |
594 | | - | |
595 | 593 | | |
596 | 594 | | |
597 | | - | |
598 | | - | |
599 | 595 | | |
600 | 596 | | |
601 | 597 | | |
602 | 598 | | |
603 | | - | |
604 | | - | |
605 | | - | |
606 | | - | |
607 | | - | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
608 | 614 | | |
609 | | - | |
610 | 615 | | |
611 | | - | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
612 | 620 | | |
613 | 621 | | |
614 | 622 | | |
| |||
631 | 639 | | |
632 | 640 | | |
633 | 641 | | |
634 | | - | |
| 642 | + | |
635 | 643 | | |
636 | 644 | | |
637 | 645 | | |
| |||
0 commit comments