Skip to content

chore: audit CI scenario matrix and index prefix coverage#6196

Open
bkenez wants to merge 2 commits into
mainfrom
6172-ci-scenario-matrix-audit
Open

chore: audit CI scenario matrix and index prefix coverage#6196
bkenez wants to merge 2 commits into
mainfrom
6172-ci-scenario-matrix-audit

Conversation

@bkenez

@bkenez bkenez commented May 19, 2026

Copy link
Copy Markdown
Member

Which problem does the PR fix?

Closes #6172.

What's in this PR?

  • docs/ci-scenario-matrix.md — PR scenarios per version, cross-component nightly inventory, index-prefix coverage matrix, known gaps.
  • TestUpgradePrefixCoverage — asserts install-step prefix vars ⊆ upgrade-step prefix vars for every enabled upgrade scenario.
  • DeploymentConfig.ValidateForChart — opt-in version-aware layer-file existence check.

Checklist

Please make sure to follow our Contributing Guide.

Before opening the PR:

  • In the repo's root dir, run make go.update-golden-only.
  • There is no other open pull request for the same update/change.
  • Tests for charts are added (if needed).
  • In-repo documentation are updated (if needed).

After opening the PR:

  • Did you sign our CLA (Contributor License Agreement)? It will show once you open the PR.
  • Did all checks/tests pass in the PR?

@github-actions github-actions Bot added tool/script area/ci version/8.7 Camunda applications/cycle version version/8.8 Camunda applications/cycle version version/8.9 Camunda applications/cycle version version/8.10 Camunda applications/cycle version tool/github-actions labels May 19, 2026
@bkenez bkenez force-pushed the 6172-ci-scenario-matrix-audit branch from b91e365 to 3529ca0 Compare May 22, 2026 10:00
@github-actions

github-actions Bot commented May 22, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://camunda.github.io/camunda-platform-helm/camunda-platform-helm/pr-preview/pr-6196/

Built to branch gh-pages at 2026-06-08 06:11 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@bkenez bkenez force-pushed the 6172-ci-scenario-matrix-audit branch 3 times, most recently from 3925c2e to 57bec1e Compare May 25, 2026 17:05
@bkenez bkenez force-pushed the 6172-ci-scenario-matrix-audit branch 3 times, most recently from 1289b8e to da3651c Compare June 5, 2026 15:14
@bkenez bkenez force-pushed the 6172-ci-scenario-matrix-audit branch from da3651c to 3a6c47a Compare June 8, 2026 06:09
@bkenez bkenez marked this pull request as ready for review June 8, 2026 06:09
@bkenez bkenez requested a review from a team as a code owner June 8, 2026 06:09
@bkenez bkenez requested review from Copilot and hisImminence and removed request for a team June 8, 2026 06:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses #6172 by documenting and enforcing consistency between CI scenario matrix entries, nightly E2E workflow inputs, and index-prefix usage across chart versions (8.7–8.10), with added validation to catch version-mismatched layered values earlier.

Changes:

  • Documented nightly/PR scenario coverage and index-prefix placeholder usage in a new CI scenario matrix doc, and linked it into the docs site navigation.
  • Extended matrix generation to accept modular-upgrade-minor and updated flow-permission rules; added tests to lock this behavior in.
  • Added Go tests to enforce nightly workflow ↔ CI config parity and upgrade prefix alignment; introduced opt-in chart-aware layer-file existence validation via ChartDir.

Reviewed changes

Copilot reviewed 21 out of 21 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
test/scripts/generate_chart_matrix.bats Adds a regression test asserting --manual-flow modular-upgrade-minor is accepted and emitted.
scripts/generate-chart-matrix.sh Allows modular-upgrade-minor, simplifies PR scenario iteration, and updates flow validation message.
scripts/deploy-camunda/matrix/runner.go Passes ChartDir into scenario config building in dry-run and coverage reporting modes.
scripts/deploy-camunda/matrix/nightly_coverage_test.go Adds tests ensuring nightly workflow calls are represented in CI config and prefixes align across upgrade pairs.
scripts/deploy-camunda/matrix/config.go Makes nightly scenarios optional in YAML serialization (omitempty).
scripts/deploy-camunda/deploy/values.go Passes ChartDir for chart-aware validation during values preparation.
scripts/deploy-camunda/cmd/prepare_values.go Enables chart-aware layer validation for layered values preparation via ChartDir.
scripts/deploy-camunda/cmd/prepare_values_test.go Updates tests to create minimal layer files required by chart-aware validation; adjusts merged YAML expectation.
scripts/camunda-core/pkg/scenarios/validate_for_chart_test.go Adds unit tests for version-aware ValidateForChart behavior and ChartDir opt-in validation.
scripts/camunda-core/pkg/scenarios/upgrade_prefix_coverage_test.go Adds TestUpgradePrefixCoverage enforcing install-prefix ⊆ upgrade-prefix for enabled upgrade scenarios.
scripts/camunda-core/pkg/scenarios/scenarios.go Introduces ChartDir override and ValidateForChart for version-aware layer-file existence checks.
helm-docs-site/sidebars.js Adds the new CI scenario matrix doc to the Docusaurus sidebar.
docs/skills/integration-test-scenario-resolution.md Cross-links to the new CI scenario matrix doc.
docs/reference/github-actions-workflows.md Cross-links to the new CI scenario matrix doc.
docs/index.md Adds the CI scenario matrix doc to the docs index table.
docs/ci-scenario-matrix.md New documentation: nightly/PR matrix + index-prefix coverage, plus maintenance guidance.
charts/camunda-platform-8.9/test/ci-test-config.yaml Adjusts/aligns QA shortnames and enables required modular-upgrade-minor scenarios; adds nightly-mirroring rows.
charts/camunda-platform-8.8/test/ci-test-config.yaml Aligns QA shortnames and adds nightly-mirroring rows for workflow parity.
charts/camunda-platform-8.7/test/ci-test-config.yaml Adds disabled rows to mirror nightly shortnames for older chart series.
charts/camunda-platform-8.10/test/ci-test-config.yaml Enables required modular-upgrade-minor upgrade scenarios for PR CI coverage.
.github/config/permitted-flows.yaml Adds modular-upgrade-minor to default permitted flows.
Comments suppressed due to low confidence (1)

.github/config/permitted-flows.yaml:11

  • For chart versions <=8.7, modular-upgrade-minor is currently permitted by default because it’s added to defaults.flows but not denied in the <=8.7 rule. That can generate unsupported matrix entries for 8.7 (especially via --manual-flow modular-upgrade-minor).
  - match: "<=8.7"
    deny:
      - upgrade-minor
  - match: "==8.10"

@@ -0,0 +1,338 @@
package matrix
- `OPERATE_INDEX_PREFIX` is consumed only by `opensearch-embedded.yaml` in 8.8/8.9/8.10. It disambiguates `CAMUNDA_DATA_SECONDARYSTORAGE_OPENSEARCH_INDEXPREFIX` from `global.opensearch.prefix`, which uses `ORCHESTRATION_INDEX_PREFIX`.
- `ORCHESTRATION_INDEX_PREFIX` and `OPTIMIZE_INDEX_PREFIX` are consumed by every Elasticsearch/OpenSearch persistence layer that overrides defaults. Bundled `elasticsearch.yaml` and `elasticsearch-self-signed.yaml` rely on chart defaults and reference no prefix variables.

The prefix matrix is enforced by [`TestUpgradePrefixCoverage`](../scripts/camunda-core/pkg/scenarios/upgrade_prefix_coverage_test.go). The nightly workflow-to-config contract and cross-version upgrade prefix alignment are enforced by [`nightly_coverage_test.go`](../scripts/deploy-camunda/matrix/nightly_coverage_test.go).
Comment on lines +286 to +288
// mustFindRepoRoot walks up from the test file's location to the directory
// whose go.mod declares "module scripts/camunda-core", then climbs three more
// levels to the camunda-platform-helm repo root.
Comment on lines +292 to +294
# Note on duplicate shortnames: cross-component workflows pass both scenario
# and shortname, so disabled nightly rows intentionally mirror those exact
# pairs even when another disabled row uses the same shortname+flow.
Comment on lines +301 to +303
# Note on duplicate shortnames: cross-component workflows pass both scenario
# and shortname, so disabled nightly rows intentionally mirror those exact
# pairs even when another disabled row uses the same shortname+flow.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ci tool/github-actions tool/script version/8.7 Camunda applications/cycle version version/8.8 Camunda applications/cycle version version/8.9 Camunda applications/cycle version version/8.10 Camunda applications/cycle version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: audit CI scenario matrix and index prefix coverage across chart versions

2 participants