@@ -469,6 +469,19 @@ jobs:
469469
470470 # Configure and run as Integration run S3C tests
471471 s3c-ft-tests :
472+ strategy :
473+ matrix :
474+ include :
475+ - vformat : v0
476+ enable-null-compat : ' '
477+ job-name : s3c-ft-tests-v0
478+ - vformat : v0
479+ enable-null-compat : ' true'
480+ job-name : s3c-ft-tests-v0-null-compat
481+ - vformat : v1
482+ enable-null-compat : ' '
483+ job-name : s3c-ft-tests-v1
484+ name : ${{ matrix.job-name }}
472485 runs-on : ubuntu-24.04
473486 needs : build
474487 env :
@@ -478,10 +491,11 @@ jobs:
478491 S3VAULT : scality
479492 CLOUDSERVER_IMAGE : ghcr.io/${{ github.repository }}:${{ github.sha }}
480493 MPU_TESTING : " yes"
481- ENABLE_NULL_VERSION_COMPAT_MODE : true
494+ DEFAULT_BUCKET_KEY_FORMAT : ${{ matrix.vformat }}
495+ ENABLE_NULL_VERSION_COMPAT_MODE : ${{ matrix.enable-null-compat }}
482496 COMPOSE_FILE : docker-compose.yaml:docker-compose.sse.yaml
483497 S3_VERSION_ID_ENCODING_TYPE : hex
484- JOB_NAME : ${{ github .job }}
498+ JOB_NAME : ${{ matrix .job-name }}
485499 VAULT_IMAGE : ghcr.io/scality/vault:7.76.0
486500 S3_END_TO_END : true
487501 S3_TESTVAL_OWNERCANONICALID : 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
@@ -496,6 +510,14 @@ jobs:
496510 password : ${{ github.token }}
497511 - name : Setup CI environment
498512 uses : ./.github/actions/setup-ci
513+ - name : Setup matrix job artifacts directory
514+ shell : bash
515+ run : |
516+ set -exu
517+ mkdir -p /tmp/artifacts/${{ matrix.job-name }}/
518+ - name : Modify md-config.json for vformat
519+ run : |
520+ sed -i 's/\("METADATA_NEW_BUCKETS_VFORMAT":\s*\)"[^"]*"/\1"${{ matrix.vformat }}"/' .github/docker/md-config.json
499521 - name : Copy S3C config
500522 run : cp .github/docker/config.s3c.json tests/functional/sse-kms-migration/config.json
501523 - name : Setup CI services
@@ -516,57 +538,57 @@ jobs:
516538 S3_LOCATION_FILE : ${{ github.workspace }}/tests/locationConfig/locationConfigS3C.json
517539 run : |-
518540 set -o pipefail;
519- yarn run ft_awssdk_objects_misc | tee /tmp/artifacts/${{ github .job }}/ft_awssdk_objects_misc.log
541+ yarn run ft_awssdk_objects_misc | tee /tmp/artifacts/${{ matrix .job-name }}/ft_awssdk_objects_misc.log
520542 - name : Run cloudserver-version tests
521543 env :
522544 S3_CONFIG_FILE : ${{ github.workspace }}/.github/docker/config.s3c.json
523545 S3_LOCATION_FILE : ${{ github.workspace }}/tests/locationConfig/locationConfigS3C.json
524546 run : |-
525547 set -o pipefail;
526- yarn run ft_awssdk_versioning | tee /tmp/artifacts/${{ github .job }}/ft_awssdk_versioning.log
548+ yarn run ft_awssdk_versioning | tee /tmp/artifacts/${{ matrix .job-name }}/ft_awssdk_versioning.log
527549 - name : Run cloudserver-bucket tests
528550 env :
529551 S3_CONFIG_FILE : ${{ github.workspace }}/.github/docker/config.s3c.json
530552 S3_LOCATION_FILE : ${{ github.workspace }}/tests/locationConfig/locationConfigS3C.json
531553 run : |-
532554 set -o pipefail;
533- yarn run ft_awssdk_buckets | tee /tmp/artifacts/${{ github .job }}/ft_awssdk_buckets.log
555+ yarn run ft_awssdk_buckets | tee /tmp/artifacts/${{ matrix .job-name }}/ft_awssdk_buckets.log
534556 - name : Run cloudserver-routes (metadata) tests
535557 env :
536558 S3_CONFIG_FILE : ${{ github.workspace }}/.github/docker/config.s3c.json
537559 S3_LOCATION_FILE : ${{ github.workspace }}/tests/locationConfig/locationConfigS3C.json
538560 run : |-
539561 set -o pipefail;
540- yarn run ft_node_routes | tee /tmp/artifacts/${{ github .job }}/ft_node_routes.log
562+ yarn run ft_node_routes | tee /tmp/artifacts/${{ matrix .job-name }}/ft_node_routes.log
541563 - name : Run backbeat route tests
542564 env :
543565 S3_CONFIG_FILE : ${{ github.workspace }}/.github/docker/config.s3c.json
544566 S3_LOCATION_FILE : ${{ github.workspace }}/tests/locationConfig/locationConfigS3C.json
545567 run : |-
546568 set -o pipefail;
547- yarn run ft_route_backbeat | tee /tmp/artifacts/${{ github .job }}/ft_route_backbeat.log
569+ yarn run ft_route_backbeat | tee /tmp/artifacts/${{ matrix .job-name }}/ft_route_backbeat.log
548570 - name : Run backbeat tests
549571 env :
550572 S3_CONFIG_FILE : ${{ github.workspace }}/.github/docker/config.s3c.json
551573 S3_LOCATION_FILE : ${{ github.workspace }}/tests/locationConfig/locationConfigS3C.json
552574 run : |-
553575 set -o pipefail;
554- yarn run ft_backbeat | tee /tmp/artifacts/${{ github .job }}/ft_backbeat.log
576+ yarn run ft_backbeat | tee /tmp/artifacts/${{ matrix .job-name }}/ft_backbeat.log
555577 - name : Teardown CI services
556578 run : docker compose down redis sproxyd metadata-standalone vault-sse-before-migration cloudserver-sse-before-migration
557579 working-directory : .github/docker
558580 - name : Cleanup and upload coverage
559581 uses : ./.github/actions/cleanup-and-coverage
560582 with :
561583 codecov-token : ${{ secrets.CODECOV_TOKEN }}
562- flags : s3c-ft-tests
584+ flags : ${{ matrix.job-name }}
563585 if : always()
564586 - name : Upload test results to Codecov
565587 uses : codecov/test-results-action@v1
566588 with :
567589 token : ${{ secrets.CODECOV_TOKEN }}
568590 files : ' **/junit/*junit*.xml'
569- flags : s3c-ft-tests
591+ flags : ${{ matrix.job-name }}
570592 if : always() && !cancelled()
571593 - name : Upload logs to artifacts
572594 uses : scality/action-artifacts@v4
0 commit comments