|
29 | 29 | required: false |
30 | 30 | default: "false" |
31 | 31 | 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 |
32 | 59 |
|
33 | 60 | 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 }} |
35 | 62 | cancel-in-progress: true |
36 | 63 |
|
37 | 64 | permissions: |
38 | 65 | contents: read |
39 | 66 |
|
40 | 67 | 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" |
48 | 82 |
|
49 | 83 | integration: |
50 | | - name: Camunda ${{ inputs.camunda-version }} - ${{ matrix.scenario }} |
51 | | - needs: validation |
| 84 | + name: ${{ matrix.platform }} - ITs |
| 85 | + needs: [parse-platforms] |
52 | 86 | permissions: |
53 | 87 | contents: read |
54 | 88 | id-token: write |
55 | 89 | deployments: write |
56 | 90 | secrets: inherit |
| 91 | + strategy: |
| 92 | + matrix: |
| 93 | + platform: ${{ fromJson(needs.parse-platforms.outputs.platforms) }} |
57 | 94 | uses: ./.github/workflows/test-integration-template.yaml |
58 | 95 | 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 }} |
62 | 99 | 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 }}" |
68 | 100 | 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 }}" |
0 commit comments