Skip to content

ci: fix nightly tests #427

ci: fix nightly tests

ci: fix nightly tests #427

# Basic test for maintenance Camunda 8 Helm charts.
name: "Test - Chart Version Nightly"
on:
schedule:
# Set the cron schedule to run nightly at midnight US time, EST (4AM UTC)
- cron: "0 4 * * *"
pull_request:
paths:
- ".github/workflows/test-chart-version-nightly-template.yaml"
- ".github/workflows/test-chart-version-nightly.yaml"
- ".github/workflows/test-integration-template.yaml"
- ".github/workflows/test-integration-runner.yaml"
- ".github/charts/*/test/ci-test-config.yaml"
push:
branches:
- "feature/ee-images-prem"
workflow_dispatch:
inputs:
platforms:
description: The deployment cloud platform
default: "gke"
required: false
type: choice
options:
- gke
- eks
- rosa
- gke,eks
flows:
description: The flows to run
default: "install"
required: false
type: choice
options:
- install
- upgrade
- install,upgrade
deployment-ttl:
required: false
default: 1h
type: string
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.run_id }}
cancel-in-progress: true
permissions:
contents: read
id-token: write
deployments: write
jobs:
init:
name: Generate chart matrix Nightly
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.generate-chart-versions.outputs.matrix }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
with:
repository: camunda/camunda-platform-helm
- name: Generate chart versions
id: generate-chart-versions
uses: ./.github/actions/generate-chart-matrix-nightly
- name: Add platforms to matrix
id: add-platforms
run: |
platforms="gke,eks"
matrix='${{ steps.generate-chart-versions.outputs.matrix }}'
printf '%s\n' "$matrix" > matrix.json
new_matrix=$(jq -c --arg platforms "$platforms" '
.include as $inc
| {include: [
$inc[] as $m
| ($platforms | split(",") | map(gsub("^\\s+|\\s+$";"")))[] as $p
| $m + {platform:$p}
]}
' matrix.json)
{
echo 'matrix<<JSON'
echo "$new_matrix"
echo 'JSON'
} >> "$GITHUB_OUTPUT"
validation:
name: Camunda ${{ matrix.version }} - Validation
uses: ./.github/workflows/chart-validate-template.yaml
needs: init
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.init.outputs.matrix) }}
with:
identifier: "${{ matrix.case }}-vald-${{ matrix.shortname }}-${{ matrix.version }}-${{ matrix.auth }}-${{ matrix.exclude }}"
camunda-helm-dir: "camunda-platform-${{ matrix.version }}"
camunda-helm-git-ref: "${{ github.event.pull_request.head.sha }}"
integation-tests:
name: ${{ matrix.version }} - ${{ matrix.platform }} - ${{ matrix.case }} - ${{ matrix.shortname }} - ${{ matrix.auth }} - ${{ matrix.exclude }}
if: ${{ needs.init.outputs.matrix != '[]' }}
needs: [init,validation]
strategy:
fail-fast: false
matrix: ${{ fromJson(needs.init.outputs.matrix) }}
uses: ./.github/workflows/test-chart-version-nightly-template.yaml
secrets: inherit
with:
camunda-version: ${{ matrix.version }}
case: ${{ matrix.case }}
scenario: ${{ matrix.scenario }}
shortname: ${{ matrix.shortname }}
auth: ${{ matrix.auth }}
platforms: ${{ matrix.platform }}
exclude: ${{ matrix.exclude }}
flows: ${{ inputs.flows || 'install,upgrade' }}
deployment-ttl: ${{ inputs.deployment-ttl || '1h' }}
values-enterprise: ${{ matrix.values-enterprise }}