|
12 | 12 |
|
13 | 13 | jobs: |
14 | 14 |
|
| 15 | + ## ====================================================================== |
| 16 | + ## Job: prepare-build-matrix |
| 17 | + ## ====================================================================== |
| 18 | + |
| 19 | + prepare-build-matrix: |
| 20 | + |
| 21 | + name: Prepare Build Variations |
| 22 | + |
| 23 | + runs-on: ubuntu-latest |
| 24 | + |
| 25 | + outputs: |
| 26 | + build-matrix: ${{ steps.set-matrix.outputs.matrix }} |
| 27 | + |
| 28 | + steps: |
| 29 | + - id: set-matrix |
| 30 | + run: | |
| 31 | + echo "=== Matrix Preparation ===" |
| 32 | + # Build result JSON with defaults applied |
| 33 | + RESULT='{"include":[ |
| 34 | + { |
| 35 | + "name": "default" |
| 36 | + }, |
| 37 | + { |
| 38 | + "name": "namedatalen-128", |
| 39 | + "extra_configure_flags": "--with-extended-namedatalen" |
| 40 | + } |
| 41 | + ]}' |
| 42 | + # Output the matrix for GitHub Actions |
| 43 | + echo "Final matrix configuration:" |
| 44 | + echo "$RESULT" | jq . |
| 45 | + # Fix: Use block redirection |
| 46 | + { |
| 47 | + echo "matrix<<EOF" |
| 48 | + echo "$RESULT" |
| 49 | + echo "EOF" |
| 50 | + } >> "$GITHUB_OUTPUT" |
| 51 | + echo "=== Matrix Preparation Complete ===" |
| 52 | +
|
15 | 53 | ## ====================================================================== |
16 | 54 | ## Job: prepare-test-matrix |
17 | 55 | ## ====================================================================== |
@@ -217,13 +255,22 @@ jobs: |
217 | 255 | ## ====================================================================== |
218 | 256 |
|
219 | 257 | build: |
| 258 | + |
| 259 | + name: Build (${{ matrix.name }}) |
| 260 | + |
| 261 | + needs: [prepare-build-matrix] |
| 262 | + |
220 | 263 | env: |
221 | 264 | JOB_TYPE: build |
222 | 265 | runs-on: ubuntu-latest |
223 | 266 | timeout-minutes: 120 |
224 | 267 | outputs: |
225 | 268 | build_timestamp: ${{ steps.set_timestamp.outputs.timestamp }} |
226 | 269 |
|
| 270 | + strategy: |
| 271 | + fail-fast: false # Continue with other tests if one fails |
| 272 | + matrix: ${{ fromJson(needs.prepare-build-matrix.outputs.build-matrix) }} |
| 273 | + |
227 | 274 | container: |
228 | 275 | image: ghcr.io/open-gpdb/gpdb-env:jammy-latest |
229 | 276 |
|
@@ -272,6 +319,8 @@ jobs: |
272 | 319 | SRC_DIR: ${{ github.workspace }} |
273 | 320 | run: | |
274 | 321 | set -ex pipefail |
| 322 | + GPDB_EXTRA_CONFIGURE_FLAGS=${{ matrix.extra_configure_flags }} |
| 323 | + |
275 | 324 | chmod +x "${SRC_DIR}"/../gpdb-devops/build_automation/gpdb/scripts/configure-gpdb.sh |
276 | 325 | cd ${SRC_DIR} |
277 | 326 | if ! SRC_DIR=${SRC_DIR} ENABLE_DEBUG=${{ env.ENABLE_DEBUG }} ${SRC_DIR}/../gpdb-devops/build_automation/gpdb/scripts/configure-gpdb.sh; then |
|
0 commit comments