Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add-release-pipelines #36

Merged
merged 1 commit into from
Jan 23, 2025
Merged

add-release-pipelines #36

merged 1 commit into from
Jan 23, 2025

Conversation

JasonPowr
Copy link
Collaborator

@JasonPowr JasonPowr commented Dec 16, 2024

This PR contains a "release pipeline" which is designed to take care of the release process for us, the idea being that we on-board the securesign/releases repository and control the release via pull requests, i.e we could run staging pipelines on pull requests to the securesign/releases repository and when merged we could run the actual release. The pipelines can be controlled by configuring the params passed in through the on-pull, and on-push tekton files like shown below.

Params

  params:
  - name: git-url
    value: '{{source_url}}'
  - name: revision
    value: '{{revision}}'
  - name: env       #Environment the pipeline will release too stage/prod
    value: stage
  - name: releases
    value: |
      - type: component     #Type of release should be component/fbc
        run: false   #whether or not to apply the release resources to the cluster
        releasePlanDir: pipeline-tests/sample-release/v1.0/stable/releasePlans
        releaseDir: pipeline-tests/sample-release/v1.0/stable/releases
      - type: fbc
        run: false
        releasePlanDir: pipeline-tests/sample-release/v1.0/stable/releasePlans/FBCs
        releaseDir: pipeline-tests/sample-release/v1.0/stable/releases/FBCs

The pipeline itself works by first applying all the files passed in through the releasePlanDir param, then moves on to apply files in the releaseDir, then continues to monitor the progress of the release until it passes or fails.

In order to generate staging resources for each release CR the label

release.rhtas.stage/releasePlanAdmission: rhtas-staging

needs to be applied to each releasePlan, this allows the pipeline to replace the actual prod RPA with the staging one

@JasonPowr JasonPowr marked this pull request as draft December 16, 2024 16:00
@JasonPowr JasonPowr force-pushed the add-release-pipelines branch 9 times, most recently from 27012ff to 77ad9ba Compare December 20, 2024 11:21
@JasonPowr JasonPowr force-pushed the add-release-pipelines branch 12 times, most recently from e5db41a to 7712f72 Compare January 20, 2025 16:31
@JasonPowr
Copy link
Collaborator Author

Current pipeline failure can be ignored, only failing due to how each task is configured

  params:
    - name: url
      value: https://github.com/securesign/pipelines.git
    - name: revision
      value: main
    - name: pathInRepo
      value: tasks/process-release-plans.yaml

@osmman
Copy link
Contributor

osmman commented Jan 22, 2025

lgtm, but my knowledge of Konflux and release process is not good

@JasonPowr JasonPowr force-pushed the add-release-pipelines branch 2 times, most recently from 9ab6ce3 to 89e545c Compare January 23, 2025 11:33
@JasonPowr JasonPowr force-pushed the add-release-pipelines branch from 89e545c to 698ddc0 Compare January 23, 2025 11:42
@JasonPowr JasonPowr marked this pull request as ready for review January 23, 2025 11:44
@JasonPowr JasonPowr merged commit 6036b23 into main Jan 23, 2025
0 of 2 checks passed
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.

2 participants