chore: audit CI scenario matrix and index prefix coverage#6196
Open
bkenez wants to merge 2 commits into
Open
Conversation
b91e365 to
3529ca0
Compare
|
3925c2e to
57bec1e
Compare
1289b8e to
da3651c
Compare
da3651c to
3a6c47a
Compare
Contributor
There was a problem hiding this comment.
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-minorand 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-minoris currently permitted by default because it’s added todefaults.flowsbut not denied in the<=8.7rule. 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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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:
make go.update-golden-only.After opening the PR: