@@ -372,8 +372,10 @@ jobs:
372372 source : /tmp/artifacts
373373 if : always()
374374
375+ # This test with the final yarn run ft_sse_arn covers more code than the kmip tests
375376 sse-kms-migration-tests :
376377 strategy :
378+ fail-fast : false # prevent cancel if one 1 matrix option fails
377379 matrix :
378380 kms :
379381 - provider : aws
@@ -387,7 +389,7 @@ jobs:
387389 globalEncryptionEnabled : false
388390 - kmsHideScalityArn : false
389391 globalEncryptionEnabled : false
390- - kmsHideScalityArn : true
392+ - kmsHideScalityArn : false
391393 globalEncryptionEnabled : true
392394 # This matrix should create 6 different jobs
393395 # No need to test globalEncryption with hidden arn (not related)
@@ -418,9 +420,9 @@ jobs:
418420 sse-kms-migration-${{
419421 matrix.kms.provider
420422 }}-${{
421- matrix.kmsHideScalityArn && 'hideArn' || 'showArn'
423+ matrix.opts. kmsHideScalityArn && 'hideArn' || 'showArn'
422424 }}${{
423- matrix.globalEncryptionEnabled && 'global' || ''
425+ matrix.opts. globalEncryptionEnabled && '- global' || ''
424426 }}
425427 COMPOSE_FILE : docker-compose.yaml:docker-compose.sse.yaml
426428 steps :
@@ -437,21 +439,23 @@ jobs:
437439 password : ${{ github.token }}
438440 - name : Setup CI environment
439441 uses : ./.github/actions/setup-ci
440- - name : Copy KMIP certs (kmip always configured even when aws is used)
442+ - name : Copy KMIP certs
441443 run : cp -r ./certs /tmp/ssl-kmip
442444 working-directory : .github/pykmip
443445 - name : Setup matrix job artifacts directory
444446 shell : bash
445447 run : |
446448 set -exu
447- mkdir -p /tmp/artifacts/${{ matrix.job-name }}/
449+ mkdir -p /tmp/artifacts/${{ env.JOB_NAME }}/
450+ - name : Copy base config
451+ run : cp configs/base.json config.json
452+ working-directory : tests/functional/sse-kms-migration
448453 - name : Setup CI services (with old cloudserver image before sse migration)
449454 run : docker compose up -d --quiet-pull redis vault-sse-before-migration cloudserver-sse-before-migration
450455 working-directory : .github/docker
451456 env :
452457 CLOUDSERVER_IMAGE : ${{ env.CLOUDSERVER_IMAGE_BEFORE_SSE_MIGRATION }}
453458 VAULT_IMAGE : ${{ env.VAULT_IMAGE_BEFORE_SSE_MIGRATION }}
454- SSE_CONF : before
455459 - name : Wait for services vault and s3
456460 run : |-
457461 bash wait_for_local_port.bash 8500 40
@@ -472,21 +476,32 @@ jobs:
472476 shell : bash # for pipefail
473477 env :
474478 # yarn run does a cd into the test folder
475- S3_CONFIG_FILE : config.before. json
479+ S3_CONFIG_FILE : config.json
476480 S3KMS : file
477- run : yarn run ft_sse_before_migration | tee /tmp/artifacts/${{ matrix.job-name }}/beforeMigration.log
481+ run : yarn run ft_sse_before_migration | tee /tmp/artifacts/${{ env.JOB_NAME }}/beforeMigration.log
482+ - name : Merge config.json files for options
483+ run : |
484+ jq -s '
485+ .[0] * .[1] * .[2] *
486+ { kmsHideScalityArn: ${{ matrix.opts.kmsHideScalityArn }} } *
487+ { globalEncryptionEnabled: ${{ matrix.opts.globalEncryptionEnabled }} }
488+ ' \
489+ configs/base.json \
490+ configs/${{ matrix.kms.provider }}.json \
491+ configs/sseMigration.json \
492+ > config.json
493+ working-directory : tests/functional/sse-kms-migration
478494 - name : Replace old cloudserver image with current one
479495 run : |-
480496 docker compose down cloudserver-sse-before-migration vault-sse-before-migration
481- docker compose up -d --quiet-pull ${{ matrix.kmsContainer }} vault-sse-migration cloudserver-sse-migration
497+ docker compose up -d --quiet-pull ${{ matrix.kms.container }} vault-sse-migration cloudserver-sse-migration
482498 working-directory : .github/docker
483499 env :
484- SSE_CONF : sseMigration.${{ matrix.kmsHideScalityArn }}
485- S3KMS : ${{ matrix.kmsProvider }} # S3
486- KMS_BACKEND : ${{ matrix.kmsProvider == 'aws' && 'aws' || '' }} # vault only supports aws
500+ S3KMS : ${{ matrix.kms.provider }} # S3
501+ KMS_BACKEND : ${{ matrix.kms.provider == 'aws' && 'aws' || '' }} # vault only supports aws
487502 - name : Wait for services kms vault and s3
488503 run : |-
489- bash wait_for_local_port.bash ${{ matrix.kmsPort }} 40
504+ bash wait_for_local_port.bash ${{ matrix.kms.port }} 40
490505 bash wait_for_local_port.bash 8500 40
491506 bash wait_for_local_port.bash 8000 40
492507 - name : Ensure latest version of cloudserver and vault is used
@@ -500,31 +515,31 @@ jobs:
500515 # Functional tests needs access to the running config to use the same
501516 # KMS provider and sseMigration
502517 # yarn run does a cd into the test folder
503- S3_CONFIG_FILE : config.sseMigration.${{ matrix.kmsHideScalityArn }}. json
504- S3KMS : ${{ matrix.kmsProvider }}
505- run : yarn run ft_sse_migration | tee /tmp/artifacts/${{ matrix.job-name }}/migration.log
518+ S3_CONFIG_FILE : config.json
519+ S3KMS : ${{ matrix.kms.provider }}
520+ run : yarn run ft_sse_migration | tee /tmp/artifacts/${{ env.JOB_NAME }}/migration.log
506521 - name : Run SSE arnPrefix tests
507522 shell : bash # for pipefail
508523 env :
509524 # Functional tests needs access to the running config to use the same
510525 # KMS provider and sseMigration
511526 # yarn run does a cd into the test folder
512- S3_CONFIG_FILE : config.sseMigration.${{ matrix.kmsHideScalityArn }}. json
513- S3KMS : ${{ matrix.kmsProvider }}
514- run : yarn run ft_sse_arn | tee /tmp/artifacts/${{ matrix.job-name }}/arnPrefix.log
527+ S3_CONFIG_FILE : config.json
528+ S3KMS : ${{ matrix.kms.provider }}
529+ run : yarn run ft_sse_arn | tee /tmp/artifacts/${{ env.JOB_NAME }}/arnPrefix.log
515530 - name : Print docker compose logs
516531 run : |-
517532 docker compose logs \
518533 cloudserver-sse-before-migration \
519534 cloudserver-sse-migration \
520535 vault-sse-before-migration \
521536 vault-sse-migration \
522- ${{ matrix.kmsContainer == 'localkms' && 'localkms' || '' }}
537+ ${{ matrix.kms.container == 'localkms' && 'localkms' || '' }}
523538 # pykmip logs are already uploaded to artifacts, but not localkms
524539 working-directory : .github/docker
525540 if : failure()
526541 - name : Remove empty artifact files to simplify viewing artifacts
527- run : find /tmp/artifacts/${{ matrix.job-name }}/ -size 0 -delete
542+ run : find /tmp/artifacts/${{ env.JOB_NAME }}/ -size 0 -delete
528543 if : always()
529544 - name : Upload logs to artifacts
530545 uses : scality/action-artifacts@v4
0 commit comments