Skip to content

feat(konflux): add prepare-release-branch pipeline - #657

Draft
osmman wants to merge 6 commits into
mainfrom
tturek/prepare-release
Draft

osmman wants to merge 6 commits into
mainfrom
tturek/prepare-release

Conversation

@osmman

@osmman osmman commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds a prepare-release-branch pipeline that creates or updates release-X.Y branches from a combined Snapshot, triggered manually via a Release.

  • pipelines/prepare-release-branch.yaml — pipeline resolving the two tasks from this repo
  • tasks/prepare-release/prepare-release-branch-parse.yaml — extracts branch, suffix, release version and repo list from the Release/Snapshot
  • tasks/prepare-release/prepare-release-branch.yaml — fans out per-repo (matrix) to create/update the release branch
  • konflux-configs/base/application/base/prepare-release-branch/ — ReleasePlan prepare-release-branch bound to the empty rhtas-release Application (manual trigger, auto-release: 'false'), wired into the application kustomization

🤖 Generated with Claude Code

Resolve: https://redhat.atlassian.net/browse/SECURESIGN-5962

@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Configuration Diff

7 document(s) impacted:

+ 2 added
- 0 removed
! 5 modified
Diff
@@ spec.template.values @@
# projctl.konflux.dev/v1beta1/ProjectDevelopmentStream/rhtas-tenant/policy-controller-operator-v1-0
! - one list entry removed:
- - name: policyControllerOperatorDeploymentName
-   value: policy-controller-manager

@@ spec.template.values @@
# projctl.konflux.dev/v1beta1/ProjectDevelopmentStream/rhtas-tenant/policy-controller-v1-0
! - one list entry removed:
- - name: policyControllerOperatorDeploymentName
-   value: policy-controller-manager

@@ spec.resources @@
# projctl.konflux.dev/v1beta1/ProjectDevelopmentStreamTemplate/rhtas-tenant/pco-fbc-template
! - one list entry removed:
- - apiVersion: appstudio.redhat.com/v1beta2
-   kind: IntegrationTestScenario
-   metadata:
-     name: {{.application}}{{.nameSuffix}}-v4-19-upgrade-fips
-     labels:
-       test.appstudio.openshift.io/optional: "true"
-   spec:
-     application: {{.application}}{{.nameSuffix}}
-     contexts:
-     - name: component_{{.application}}{{.nameSuffix}}-v4-19
-       description: "execute the FIPS upgrade integration test when component {{.application}}{{.nameSuffix}}-v4-19 updates"
-     params:
-     - name: OCP_VERSION
-       value: 4.19
-     - name: FIPS_ENABLED
-       value: "true"
-     - name: CLUSTER_PLATFORM
-       value: openshift
-     resolverRef:
-       params:
-       - name: url
-         value: "https://github.com/securesign/pipelines.git"
-       - name: revision
-         value: main
-       - name: pathInRepo
-         value: pipelines/integration-test/pco-operator-upgrade.yaml
-       resolver: git
-       resourceKind: pipelinerun

@@ spec.variables.policyControllerOperatorDeploymentName.defaultValue @@
# projctl.konflux.dev/v1beta1/ProjectDevelopmentStreamTemplate/rhtas-tenant/pco-fbc-template
! ± value change
- policy-controller-operator
+ policy-controller-manager

@@ spec.resources @@
# projctl.konflux.dev/v1beta1/ProjectDevelopmentStreamTemplate/rhtas-tenant/rhtas-fbc-template
! - one list entry removed:
- - apiVersion: appstudio.redhat.com/v1beta2
-   kind: IntegrationTestScenario
-   metadata:
-     name: {{.application}}{{.nameSuffix}}-v4-19-upgrade-fips
-     labels:
-       test.appstudio.openshift.io/optional: "true"
-   spec:
-     application: {{.application}}{{.nameSuffix}}
-     contexts:
-     - name: component_{{.application}}{{.nameSuffix}}-v4-19
-       description: "execute the FIPS upgrade integration test when component {{.application}}{{.nameSuffix}}-v4-19 updates"
-     params:
-     - name: OCP_VERSION
-       value: 4.19
-     - name: FIPS_ENABLED
-       value: "true"
-     - name: CLUSTER_PLATFORM
-       value: openshift
-     resolverRef:
-       params:
-       - name: url
-         value: "https://github.com/securesign/pipelines.git"
-       - name: revision
-         value: main
-       - name: pathInRepo
-         value: pipelines/integration-test/operator-upgrade.yaml
-       resolver: git
-       resourceKind: pipelinerun

@@ (root level) @@
# appstudio.redhat.com/v1alpha1/Application/rhtas-tenant/rhtas-release
! + one document added:
+   ---
+   apiVersion: appstudio.redhat.com/v1alpha1
+   kind: Application
+   metadata:
+     name: rhtas-release
+     namespace: rhtas-tenant
+   spec:
+     displayName: "RHTAS release vehicle"

@@ (root level) @@
# appstudio.redhat.com/v1alpha1/ReleasePlan/rhtas-tenant/prepare-release-stream
! + one document added:
+   ---
+   apiVersion: appstudio.redhat.com/v1alpha1
+   kind: ReleasePlan
+   metadata:
+     name: prepare-release-stream
+     namespace: rhtas-tenant
+     labels:
+       release.appstudio.openshift.io/auto-release: "false"
+   spec:
+     application: rhtas-release
+     tenantPipeline:
+       pipelineRef:
+         params:
+         - name: url
+           value: "https://github.com/securesign/pipelines"
+         - name: revision
+           value: tturek/prepare-release
+         - name: pathInRepo
+           value: pipelines/prepare-release-stream.yaml
+         resolver: git
+       serviceAccountName: konflux-bot-0

📦 Artifacts: base-output.yaml, head-output.yaml, dyff-output.txt

@osmman osmman changed the title feat(konflux): add prepare-release-branch pipeline feat: add prepare-release-branch pipeline Oct 16, 2026
@osmman osmman changed the title feat: add prepare-release-branch pipeline feat(konflux): add prepare-release-branch pipeline Oct 16, 2026
@osmman
osmman requested a review from tommyd450 October 19, 2026 08:17
@osmman
osmman force-pushed the tturek/prepare-release branch from 8e9123e to 7ddfe89 Compare October 19, 2026 08:19
@osmman
osmman force-pushed the tturek/prepare-release branch 2 times, most recently from 118e0bc to 4ee03dd Compare October 19, 2026 16:44
@osmman

osmman commented Oct 20, 2026

Copy link
Copy Markdown
Contributor Author

This PR functionality will be reworked after #530. The reason is that it will centralise some versioning values which impact will be removing its behavior from prepare-release-branch.

Modified version will create one PR to securesign/pipeline repository to bump version on all repositories in snapshot.

osmman and others added 6 commits October 26, 2026 16:12
Mint a short-lived installation token through a shared StepAction and use
it in push-to-github. Release preparation reuses the same authentication.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Signed-off-by: Tomas Turek <tturek@redhat.com>
Create a verified GitHub API commit from staged files and return its SHA.
Preserve file modes, binary contents and deletions, and skip an empty diff.
Branch and pull request handling remain with the caller.

Signed-off-by: Tomas Turek <tturek@redhat.com>
Group every Snapshot repository and prepare its component configuration
for the release stream. Read versions centrally instead of updating local
PipelineRun version parameters, and open a separate pipelines/main PR for
explicit Release version fields.

Split checkout, rewiring, staging, signed API commit creation and PR
publication into separate steps. Add the prepare-release-stream ReleasePlan
and its rhtas-release Application.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Signed-off-by: Tomas Turek <tturek@redhat.com>
Update existing kubebuilder/operator-sdk version and channel files using
the project version. Keep product and project versions separate and
preserve digest pins on patch releases.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Signed-off-by: Tomas Turek <tturek@redhat.com>
Describe Release inputs, component and central version changes, API commit
publication, and the central ConfigMap merge/deployment prerequisite.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Signed-off-by: Tomas Turek <tturek@redhat.com>
Point Git resolvers at tturek/prepare-release for Konflux testing.
Drop this temporary commit before merging.

Signed-off-by: Tomas Turek <tturek@redhat.com>
@osmman
osmman force-pushed the tturek/prepare-release branch from 4ee03dd to 28a5958 Compare October 26, 2026 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant