|
51 | 51 | echo PHPUNIT='vendor/bin/phpunit' >> $GITHUB_ENV |
52 | 52 | [ 'lowest' = '${{ matrix.dependency-version }}' ] && export SYMFONY_DEPRECATIONS_HELPER=weak |
53 | 53 |
|
54 | | - PACKAGES=$(find src/ -mindepth 2 -type f -name composer.json -not -path "*/vendor/*" -printf '%h\n' | sed 's/^src\///' | grep -Ev "examples" | sort | tr '\n' ' ') |
| 54 | + # Exclude Bridge directories - they are handled separately to avoid recursive vendor copies |
| 55 | + PACKAGES=$(find src/ -mindepth 2 -type f -name composer.json -not -path "*/vendor/*" -not -path "*/Bridge/*" -printf '%h\n' | sed 's/^src\///' | grep -Ev "examples" | sort | tr '\n' ' ') |
55 | 56 | echo "Packages: $PACKAGES" |
56 | 57 | echo "PACKAGES=$PACKAGES" >> $GITHUB_ENV |
57 | 58 |
|
|
85 | 86 | - name: Build root packages |
86 | 87 | run: php .github/build-packages.php |
87 | 88 |
|
| 89 | + - name: Run platform bridge tests |
| 90 | + run: | |
| 91 | + # Platform bridges must run FIRST and SEQUENTIALLY because they depend on symfony/ai-platform |
| 92 | + # which is in the same directory tree. Running in parallel causes recursive vendor copies |
| 93 | + # when bridge A's vendor/symfony/ai-platform includes bridge B's vendor (if B finished first). |
| 94 | + source .github/workflows/.utils.sh |
| 95 | +
|
| 96 | + BRIDGES=$(find src/platform/src/Bridge/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | sort | tr '\n' ' ') |
| 97 | + echo "Platform Bridges: $BRIDGES" |
| 98 | + for BRIDGE in $BRIDGES; do |
| 99 | + _run_task "$BRIDGE" "(cd src/platform/src/Bridge/$BRIDGE && $COMPOSER_UP && $PHPUNIT)" |
| 100 | + done |
| 101 | +
|
88 | 102 | - name: Run packages tests |
89 | 103 | run: | |
90 | 104 | source .github/workflows/.utils.sh |
91 | 105 |
|
92 | 106 | echo "$PACKAGES" | xargs -n1 | parallel -j +3 "_run_task {} '(cd src/{} && $COMPOSER_UP && $PHPUNIT)'" |
| 107 | +
|
| 108 | + - name: Run store bridge tests |
| 109 | + run: | |
| 110 | + source .github/workflows/.utils.sh |
| 111 | +
|
| 112 | + BRIDGES=$(find src/store/src/Bridge/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | sort | tr '\n' ' ') |
| 113 | + echo "Store Bridges: $BRIDGES" |
| 114 | + echo "$BRIDGES" | xargs -n1 | parallel -j +3 "_run_task {} '(cd src/store/src/Bridge/{} && $COMPOSER_UP && $PHPUNIT)'" |
| 115 | +
|
| 116 | + - name: Run tool bridge tests |
| 117 | + run: | |
| 118 | + source .github/workflows/.utils.sh |
| 119 | +
|
| 120 | + BRIDGES=$(find src/agent/src/Bridge/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | sort | tr '\n' ' ') |
| 121 | + echo "Tool Bridges: $BRIDGES" |
| 122 | + echo "$BRIDGES" | xargs -n1 | parallel -j +3 "_run_task {} '(cd src/agent/src/Bridge/{} && $COMPOSER_UP && $PHPUNIT)'" |
0 commit comments