Skip to content

Commit 3a9f102

Browse files
fixup CI to merge configs for new matrix
1 parent 948efcb commit 3a9f102

File tree

2 files changed

+37
-22
lines changed

2 files changed

+37
-22
lines changed

.github/docker/docker-compose.sse.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ services:
3333
# using artesca container
3434
- ../../localData:/usr/src/app/localData
3535
- ../../localMetadata:/usr/src/app/localMetadata
36-
- ../../tests/functional/sse-kms-migration/config.${SSE_CONF}.json:/conf/config.json
36+
- ../../tests/functional/sse-kms-migration/config.json:/conf/config.json
3737
environment:
3838
- S3_CONFIG_FILE=/conf/config.json
3939
- S3VAULT=scality

.github/workflows/tests.yaml

Lines changed: 36 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)