Skip to content

Commit e06f8c8

Browse files
ci: add E2E test level in CI pipeline
Co-authored-by: Valerio Del Sarto <valerio.delsarto@enterprisedb.com>
1 parent 3f3be21 commit e06f8c8

File tree

1 file changed

+39
-5
lines changed

1 file changed

+39
-5
lines changed

.github/workflows/continuous-delivery.yml

Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ on:
1414
limit:
1515
description: 'Limit to the specified engines list (local, eks, aks, gke, rke)'
1616
required: false
17+
test_level:
18+
description: 'Test level (0-4)'
19+
required: false
1720
schedule:
1821
- cron: '0 1 * * *'
1922

@@ -344,6 +347,7 @@ jobs:
344347
event-type: cnp-trigger
345348
client-payload: '{"upstream_commit": "${{ github.event.pull_request.head.sha || github.sha }}"}'
346349

350+
347351
generate-jobs:
348352
name: Generate jobs for E2E tests
349353
needs:
@@ -376,18 +380,44 @@ jobs:
376380
-m '${{ github.event.inputs.depth || github.event_name }}' \
377381
-l '${{ github.event.inputs.limit }}'
378382
383+
evaluate-test-level:
384+
name: Evaluate test level
385+
needs:
386+
- generate-jobs
387+
runs-on: ubuntu-20.04
388+
outputs:
389+
testLevel: ${{ steps.evaluate-test-level.outputs.testLevel }}
390+
steps:
391+
- name: evaluate test level
392+
id: evaluate-test-level
393+
run: |
394+
declare -A events
395+
events=([push]=0 [pull_request]=2 [main]=3 [schedule]=4)
396+
test_level_from_input="${{ github.event.inputs.test_level }}"
397+
if [ -n "${test_level_from_input}" ]
398+
then
399+
echo "::set-output name=testLevel::${test_level_from_input}"
400+
exit 0
401+
fi
402+
test_level_generated="${{ github.event.inputs.depth || github.event_name }}"
403+
if [ -n "${test_level_generated}" ]
404+
then
405+
echo "::set-output name=testLevel::${events[${test_level_generated}]}"
406+
fi
407+
379408
e2e-local:
380409
name: Run E2E on local executors
381410
if: ${{ needs.generate-jobs.outputs.localEnabled == 'true' && needs.duplicate_runs.outputs.should_skip != 'true' }}
382411
needs:
383412
- generate-jobs
384413
- duplicate_runs
414+
- evaluate-test-level
385415
strategy:
386416
fail-fast: false
387417
matrix: ${{ fromJSON(needs.generate-jobs.outputs.localMatrix) }}
388418
runs-on: ubuntu-20.04
389419
env:
390-
TEST_DEPTH: 4
420+
TEST_DEPTH: ${{ needs.evaluate-test-level.outputs.testLevel }}
391421
K8S_VERSION: "${{ matrix.k8s_version }}"
392422
POSTGRES_IMG: "${{ matrix.postgres_img }}"
393423
E2E_PRE_ROLLING_UPDATE_IMG: "${{ matrix.postgres_pre_img }}"
@@ -466,14 +496,15 @@ jobs:
466496
needs:
467497
- generate-jobs
468498
- duplicate_runs
499+
- evaluate-test-level
469500
strategy:
470501
fail-fast: false
471502
max-parallel: 15
472503
matrix:
473504
${{ fromJSON(needs.generate-jobs.outputs.aksMatrix) }}
474505
runs-on: ubuntu-20.04
475506
env:
476-
TEST_DEPTH: 4
507+
TEST_DEPTH: ${{ needs.evaluate-test-level.outputs.testLevel }}
477508
K8S_VERSION: "${{ matrix.k8s_version }}"
478509
POSTGRES_IMG: "${{ matrix.postgres_img }}"
479510
E2E_PRE_ROLLING_UPDATE_IMG: "${{ matrix.postgres_pre_img }}"
@@ -613,13 +644,14 @@ jobs:
613644
needs:
614645
- generate-jobs
615646
- duplicate_runs
647+
- evaluate-test-level
616648
strategy:
617649
fail-fast: false
618650
matrix:
619651
${{ fromJSON(needs.generate-jobs.outputs.eksMatrix) }}
620652
runs-on: ubuntu-20.04
621653
env:
622-
TEST_DEPTH: 4
654+
TEST_DEPTH: ${{ needs.evaluate-test-level.outputs.testLevel }}
623655
K8S_VERSION: "${{ matrix.k8s_version }}"
624656
POSTGRES_IMG: "${{ matrix.postgres_img }}"
625657
E2E_PRE_ROLLING_UPDATE_IMG: "${{ matrix.postgres_pre_img }}"
@@ -738,14 +770,15 @@ jobs:
738770
needs:
739771
- generate-jobs
740772
- duplicate_runs
773+
- evaluate-test-level
741774
strategy:
742775
fail-fast: false
743776
max-parallel: 10
744777
matrix:
745778
${{ fromJSON(needs.generate-jobs.outputs.gkeMatrix) }}
746779
runs-on: ubuntu-20.04
747780
env:
748-
TEST_DEPTH: 4
781+
TEST_DEPTH: ${{ needs.evaluate-test-level.outputs.testLevel }}
749782
K8S_VERSION: "${{ matrix.k8s_version }}"
750783
POSTGRES_IMG: "${{ matrix.postgres_img }}"
751784
E2E_PRE_ROLLING_UPDATE_IMG: "${{ matrix.postgres_pre_img }}"
@@ -873,13 +906,14 @@ jobs:
873906
needs:
874907
- generate-jobs
875908
- duplicate_runs
909+
- evaluate-test-level
876910
strategy:
877911
fail-fast: false
878912
matrix:
879913
${{ fromJSON(needs.generate-jobs.outputs.rkeMatrix) }}
880914
runs-on: ubuntu-20.04
881915
env:
882-
TEST_DEPTH: 4
916+
TEST_DEPTH: ${{ needs.evaluate-test-level.outputs.testLevel }}
883917
POSTGRES_IMG: "${{ matrix.postgres_img }}"
884918
E2E_PRE_ROLLING_UPDATE_IMG: "${{ matrix.postgres_pre_img }}"
885919

0 commit comments

Comments
 (0)