Skip to content

Commit 10e281a

Browse files
committed
ci: fix the nightly test runs
1 parent ddfa9a5 commit 10e281a

File tree

4 files changed

+114
-21
lines changed

4 files changed

+114
-21
lines changed

.github/actions/generate-chart-matrix-nightly/action.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ runs:
4040
echo " - version: ${camunda_version}" >> matrix_versions.txt
4141
echo " case: nightly" >> matrix_versions.txt
4242
echo " scenario: $(echo "$nightlyScenario" | yq e '.name' -)" >> matrix_versions.txt
43+
echo " shortname: $(echo "$nightlyScenario" | yq e '.shortname' -)" >> matrix_versions.txt
4344
echo " auth: $(echo "$nightlyScenario" | yq e '.auth' -)" >> matrix_versions.txt
4445
echo " exclude: $(echo "$nightlyScenario" | yq e '.exclude | join("|")' -)" >> matrix_versions.txt
4546
echo " values-enterprise: $(echo "$nightlyScenario" | yq e '.enterprise // "false"' -)" >> matrix_versions.txt

.github/workflows/test-chart-version-nightly-template.yaml

Lines changed: 61 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,40 +29,83 @@ on:
2929
required: false
3030
default: "false"
3131
type: string
32+
shortname:
33+
description: Shortname for the scenario within the identifier
34+
required: true
35+
type: string
36+
run-all-e2e-tests:
37+
description: "Run all E2E tests (playwright)"
38+
required: false
39+
default: false
40+
type: boolean
41+
platforms:
42+
description: The deployment cloud platform
43+
default: gke
44+
required: false
45+
type: string
46+
flows:
47+
description: The flows to run
48+
default: "install,upgrade"
49+
type: string
50+
required: false
51+
e2e-enabled:
52+
required: false
53+
default: true
54+
type: boolean
55+
deployment-ttl:
56+
required: false
57+
default: 1h
58+
type: string
3259

3360
concurrency:
34-
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ inputs.scenario }}-${{ inputs.camunda-version }}-${{ inputs.auth }}-${{ inputs.exclude }}
61+
group: ${{ github.workflow }}-nightly-template-${{ inputs.shortname }}-${{ inputs.camunda-version }}-${{ inputs.auth }}-${{ inputs.exclude }}-${{ inputs.platforms }}
3562
cancel-in-progress: true
3663

3764
permissions:
3865
contents: read
3966

4067
jobs:
41-
validation:
42-
name: Camunda ${{ inputs.camunda-version }} - Validation
43-
uses: ./.github/workflows/chart-validate-template.yaml
44-
with:
45-
identifier: "${{ inputs.case }}-${{ inputs.scenario }}-vald-${{ inputs.camunda-version }}-${{ inputs.auth }}-${{ inputs.exclude }}"
46-
camunda-helm-dir: "camunda-platform-${{ inputs.camunda-version }}"
47-
camunda-helm-git-ref: "${{ github.event.pull_request.head.sha }}"
68+
parse-platforms:
69+
name: Parse platforms
70+
runs-on: ubuntu-latest
71+
env:
72+
SCENARIOS_LIST: ${{ inputs.scenarios }}
73+
outputs:
74+
platforms: ${{ steps.make-json-array.outputs.platforms }}
75+
steps:
76+
- name: Convert string to JSON array and set as output
77+
id: make-json-array
78+
run: |
79+
platforms="${{ inputs.platforms }}"
80+
echo "platforms=$(jq -cn --arg p "$platforms" '$p | split(",")')" >> "$GITHUB_OUTPUT"
81+
echo "platforms=$platforms"
4882
4983
integration:
50-
name: Camunda ${{ inputs.camunda-version }} - ${{ matrix.scenario }}
51-
needs: validation
84+
name: ${{ matrix.platform }} - ITs
85+
needs: [parse-platforms]
5286
permissions:
5387
contents: read
5488
id-token: write
5589
deployments: write
5690
secrets: inherit
91+
strategy:
92+
matrix:
93+
platform: ${{ fromJson(needs.parse-platforms.outputs.platforms) }}
5794
uses: ./.github/workflows/test-integration-template.yaml
5895
with:
59-
identifier: "${{ inputs.camunda-version }}"
60-
platforms: "gke"
61-
flows: "install,upgrade"
96+
identifier: "intg-${{ inputs.shortname }}-${{ inputs.camunda-version }}-${{ matrix.platform }}"
97+
deployment-ttl: "${{ contains(github.event.pull_request.labels.*.name, 'test-persistent') && '1w' || inputs.deployment-ttl }}"
98+
flows: ${{ inputs.flows }}
6299
camunda-helm-dir: "camunda-platform-${{ inputs.camunda-version }}"
63-
test-case: "${{ inputs.case }}"
64-
scenario: "${{ inputs.scenario }}"
65-
auth: "${{ inputs.auth }}"
66-
exclude: "${{ inputs.exclude }}"
67-
values-enterprise: "${{ inputs.values-enterprise }}"
68100
camunda-helm-git-ref: "${{ github.event.pull_request.head.sha }}"
101+
caller-git-ref: "${{ github.event.pull_request.head.sha }}"
102+
test-case: ${{inputs.case}}
103+
scenario: ${{inputs.scenario}}
104+
e2e-enabled: ${{ inputs.e2e-enabled }}
105+
shortname: ${{inputs.shortname}}
106+
auth: ${{inputs.auth}}
107+
exclude: ${{inputs.exclude}}
108+
platforms: ${{ matrix.platform }}
109+
run-all-e2e-tests: ${{ inputs.run-all-e2e-tests }}
110+
always-delete-namespace: true
111+
values-enterprise: "${{ inputs.values-enterprise }}"

.github/workflows/test-chart-version-nightly.yaml

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,41 @@ on:
55
schedule:
66
# Set the cron schedule to run nightly at midnight US time, EST (4AM UTC)
77
- cron: "0 4 * * *"
8+
pull_request:
9+
paths:
10+
- ".github/workflows/test-chart-version-nightly-template.yaml"
11+
- ".github/workflows/test-chart-version-nightly.yaml"
12+
- ".github/workflows/test-integration-template.yaml"
13+
- ".github/workflows/test-integration-runner.yaml"
14+
- ".github/charts/*/test/ci-test-config.yaml"
815
push:
916
branches:
1017
- "feature/ee-images-prem"
18+
workflow_dispatch:
19+
inputs:
20+
platforms:
21+
description: The deployment cloud platform
22+
default: "gke"
23+
required: false
24+
type: choice
25+
options:
26+
- gke
27+
- eks
28+
- rosa
29+
- gke,eks
30+
flows:
31+
description: The flows to run
32+
default: "install"
33+
required: false
34+
type: choice
35+
options:
36+
- install
37+
- upgrade
38+
- install,upgrade
39+
deployment-ttl:
40+
required: false
41+
default: 1h
42+
type: string
1143

1244
concurrency:
1345
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.run_id }}
@@ -32,10 +64,22 @@ jobs:
3264
id: generate-chart-versions
3365
uses: ./.github/actions/generate-chart-matrix-nightly
3466

35-
test:
36-
if: ${{ needs.init.outputs.matrix != '[]' }}
37-
name: Camunda ${{ matrix.version }}
67+
validation:
68+
name: Camunda ${{ matrix.version }} - Validation
69+
uses: ./.github/workflows/chart-validate-template.yaml
3870
needs: init
71+
strategy:
72+
fail-fast: false
73+
matrix: ${{ fromJson(needs.init.outputs.matrix) }}
74+
with:
75+
identifier: "${{ matrix.case }}-vald-${{ matrix.shortname }}-${{ matrix.version }}-${{ matrix.auth }}-${{ matrix.exclude }}"
76+
camunda-helm-dir: "camunda-platform-${{ matrix.version }}"
77+
camunda-helm-git-ref: "${{ github.event.pull_request.head.sha }}"
78+
79+
integation-tests:
80+
name: ${{ matrix.version }} - ${{ inputs.platforms || 'gke' }} - ${{ matrix.case }} - ${{ matrix.shortname }}
81+
if: ${{ needs.init.outputs.matrix != '[]' }}
82+
needs: [init,validation]
3983
strategy:
4084
fail-fast: false
4185
matrix: ${{ fromJson(needs.init.outputs.matrix) }}
@@ -45,6 +89,10 @@ jobs:
4589
camunda-version: ${{ matrix.version }}
4690
case: ${{ matrix.case }}
4791
scenario: ${{ matrix.scenario }}
92+
shortname: ${{ matrix.shortname }}
4893
auth: ${{ matrix.auth }}
94+
platforms: ${{ inputs.platforms || 'gke,eks' }}
4995
exclude: ${{ matrix.exclude }}
96+
flows: ${{ inputs.flows || 'install,upgrade' }}
97+
deployment-ttl: ${{ inputs.deployment-ttl || '1h' }}
5098
values-enterprise: ${{ matrix.values-enterprise }}

charts/camunda-platform-8.7/test/ci-test-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ integration:
5353
exclude: []
5454
auth: keycloak
5555
enterprise: true
56+
shortname: ese
5657
- name: documentstore
5758
enabled: false
5859
exclude: []

0 commit comments

Comments
 (0)