Details
-
Task
-
Resolution: Unresolved
-
L3 - Default
-
None
-
None
-
None
Description
Description of the problem:
The Optimize teams needs to prepare it's processes and tooling to properly be able to build patch releases for previous minor releases.
In order to confidently develop patches however it's required to also have all Jenkins test pipelines setup for the specific minor releases. As on master these jobs are often adopted to the latest release (e.g. by adding or removing integration steps for supported elasticsearch, campbpm or zeebe versions), these can't be reliable used for developing patches on previous minor releases.
Desired outcome and acceptance tests:
- For every maintenance version, a branch with a maintenance/ prefix is created and will be picked up by CI.
- For each maintenance branch, a set of seed jobs in the .ci/maintenance-jobs directory is generated
- For each maintenance branch, a matching maintenance branch is created in the optimize shared library and used by that branch's Jenkinsfile
Hints (optional):
- A POC was made in Q3 and a technical solution explained in INFRA-2720
- Special care needs to be taken when jobs are duplicated (or symlinked) to run on both master and maintenance/ branches - cf. optimize#3900
- Jenkinsfile is adjusted to run as well in the maintenance/ branch context (cf. the TODOs in optimize#3900
Jobs required to be supported
Jobs to run for maintenance branches classified by priority:
P1:
.ci/jobs/elasticsearch_combatibility.dsl
.ci/jobs/engine_compatibility.dsl
.ci/jobs/java_combatibility.dsl
.ci/jobs/e2e_tests.dsl
.ci/jobs/import_dynamic_data_performance.dsl
.ci/jobs/import_mediator_permutation_test.dsl
.ci/jobs/secured_es.dsl
.ci/jobs/cluster_test.dsl
.ci/jobs/dependency_check.dsl
.ci/jobs/release_optimize.dsl
P2: (for most of them we have the challenge to organize cambpm database dumps separately)
.ci/jobs/query_performance.dsl
.ci/jobs/event_import_performance.dsl
.ci/jobs/cleanup_data_performance_large.dsl
.ci/jobs/event_import_performance.dsl
.ci/jobs/import_large_static_data_performance.dsl
.ci/jobs/upgrade_data_performance_large.dsl
.ci/jobs/event_cleanup_performance.dsl
P3:
.ci/jobs/test_release.dsl
.ci/jobs/elasticsearch_aws_compatibility.dsl
.ci/jobs/sonarqube_analysis.dsl
.ci/jobs/generate_cambpm_test_data.dsl (for the rare case that we need to generate a data-set for an older cambpm version)
Not needed:
.ci/jobs/deploy_k8s_branches.dsl
.ci/jobs/release_example_repo.dsl
mgm-controller-panel
This is the controller panel for Smart Panels app
Attachments
Issue Links
- is related to
-
OPT-5663 Prepare gitflow tooling to create maintenance branches
- Done
1.
|
A solution to correlate Optimize maintenance versions with CI library version | Done | Unassigned | |
2.
|
Optimize Jenkinsfile is adjusted for maintenance branches | Done | Leonhardt Wille | |
3.
|
Optimize JobDSL is adjusted for maintenance branch support: P1 | Open | Unassigned | |
4.
|
Optimize JobDSL is adjusted for maintenance branch support: P2 | Open | Unassigned | |
5.
|
Optimize JobDSL is adjusted for maintenance branch support: P3 | Open | Unassigned |