66 paths :
77 - ' booster/**'
88 - ' tools/internal-test/**'
9+ - ' tools/build-fixtures.sh'
910 - ' .github/workflows/integration-tests.yml'
1011 pull_request :
1112 branches : [main, develop]
@@ -99,9 +100,10 @@ jobs:
99100 uses : actions/cache@v4
100101 with :
101102 path : tests/.fixtures-cache
102- key : ${{ runner.os }}-test-fixtures-v1 -${{ hashFiles('tests/.fixtures-cache/**/FIXTURE_VERSION ') }}
103+ key : ${{ runner.os }}-test-fixtures-v2 -${{ matrix.project_type }}-${{ hashFiles('tools/build-fixtures.sh ') }}
103104 restore-keys : |
104- ${{ runner.os }}-test-fixtures-v1-
105+ ${{ runner.os }}-test-fixtures-v2-${{ matrix.project_type }}-
106+ ${{ runner.os }}-test-fixtures-v2-
105107
106108 - name : Install DDEV
107109 uses : ddev/github-action-setup-ddev@v1
@@ -120,22 +122,23 @@ jobs:
120122
121123 - name : Build test fixtures if not cached
122124 run : |
123- if [ ! -d "tests/.fixtures-cache/laravel" ] || [ ! -d "tests/.fixtures-cache/symfony" ]; then
124- echo "📦 Building test fixtures (first run or cache miss)..."
125+ TARGET_PROJECT="${{ matrix.project_type }}"
126+
127+ if [ ! -d "tests/.fixtures-cache/$TARGET_PROJECT" ]; then
128+ echo "📦 Building $TARGET_PROJECT fixture (first run or cache miss)..."
125129 chmod +x tools/build-fixtures.sh
126130 mkdir -p tests/.fixtures-cache
127- bash tools/build-fixtures.sh tests/.fixtures-cache
131+ bash tools/build-fixtures.sh tests/.fixtures-cache "$TARGET_PROJECT"
128132
129- # Extract tarballs to cache directory
133+ # Extract tarball to cache directory
130134 cd tests/.fixtures-cache
131- tar xzf laravel-fixture.tar.gz
132- tar xzf symfony-fixture.tar.gz
135+ tar xzf "$TARGET_PROJECT-fixture.tar.gz"
133136
134- echo "✅ Fixtures built and ready"
137+ echo "✅ $TARGET_PROJECT fixture built and ready"
135138 ls -lh
136139 else
137- echo "✅ Using cached fixtures "
138- ls -lh tests/.fixtures-cache/* /FIXTURE_VERSION
140+ echo "✅ Using cached $TARGET_PROJECT fixture "
141+ ls -lh " tests/.fixtures-cache/$TARGET_PROJECT /FIXTURE_VERSION"
139142 fi
140143
141144 - name : Run integration test
@@ -228,9 +231,10 @@ jobs:
228231 uses : actions/cache@v4
229232 with :
230233 path : tests/.fixtures-cache
231- key : ${{ runner.os }}-test-fixtures-v1 -${{ hashFiles('tests/.fixtures-cache/**/FIXTURE_VERSION ') }}
234+ key : ${{ runner.os }}-test-fixtures-v2 -${{ github.event.inputs.project_type }}-${{ hashFiles('tools/build-fixtures.sh ') }}
232235 restore-keys : |
233- ${{ runner.os }}-test-fixtures-v1-
236+ ${{ runner.os }}-test-fixtures-v2-${{ github.event.inputs.project_type }}-
237+ ${{ runner.os }}-test-fixtures-v2-
234238
235239 - name : Install DDEV
236240 uses : ddev/github-action-setup-ddev@v1
@@ -249,22 +253,23 @@ jobs:
249253
250254 - name : Build test fixtures if not cached
251255 run : |
252- if [ ! -d "tests/.fixtures-cache/laravel" ] || [ ! -d "tests/.fixtures-cache/symfony" ]; then
253- echo "📦 Building test fixtures (first run or cache miss)..."
256+ TARGET_PROJECT="${{ github.event.inputs.project_type }}"
257+
258+ if [ ! -d "tests/.fixtures-cache/$TARGET_PROJECT" ]; then
259+ echo "📦 Building $TARGET_PROJECT fixture (first run or cache miss)..."
254260 chmod +x tools/build-fixtures.sh
255261 mkdir -p tests/.fixtures-cache
256- bash tools/build-fixtures.sh tests/.fixtures-cache
262+ bash tools/build-fixtures.sh tests/.fixtures-cache "$TARGET_PROJECT"
257263
258- # Extract tarballs to cache directory
264+ # Extract tarball to cache directory
259265 cd tests/.fixtures-cache
260- tar xzf laravel-fixture.tar.gz
261- tar xzf symfony-fixture.tar.gz
266+ tar xzf "$TARGET_PROJECT-fixture.tar.gz"
262267
263- echo "✅ Fixtures built and ready"
268+ echo "✅ $TARGET_PROJECT fixture built and ready"
264269 ls -lh
265270 else
266- echo "✅ Using cached fixtures "
267- ls -lh tests/.fixtures-cache/* /FIXTURE_VERSION
271+ echo "✅ Using cached $TARGET_PROJECT fixture "
272+ ls -lh " tests/.fixtures-cache/$TARGET_PROJECT /FIXTURE_VERSION"
268273 fi
269274
270275 - name : Run manual test
0 commit comments