Skip to content

Conversation

@waodim
Copy link
Contributor

@waodim waodim commented Dec 3, 2025

Description

This PR migrates everything that was done in our concourse release pipeline to GitHub Actions.

Recap:

Concourse did at first get latest release branch ✅

  • already covered by our GitHub release

Then it tried to get the next version (newest tag) ✅

  • already covered by our GitHub release as it only listens to a pushed tag

Then it did image preflight ✅

  • already covered by our GitHub release

Then it prepared files for CSV bundle generation ❌

  • NOT covered -> added now

Then it prepared helm index update ✅

  • already covered by our GitHub release

Then it forked all the marketplace repos, pushed marketplace specific bundles ❌

  • NOT covered -> added now

So as you can see the thing that was added was the generation of the CSV bundles, create a PR from csv-* to release-* that updates the bundles; when this is merged it triggers 5 steps:

  1. Builds with updated schema.yaml the GCR deployer image; pushes it
  2. Forks community-operators repo, checks out branch, pushes specific bundles
  3. Forks community-operators-prod repo, checks out branch, pushes specific bundles
  4. Forks redhat-marketplaces repo, checks out branch, pushes specific bundles
  5. Forks certified-operators repo, checks out branch, pushes specific bundles

This is all done by our team user (Added repository secrets for this, with name, email and PAT)

DAQ-12237

How can this be tested?

Have a look at my fork

Have a look at the actions.

Have a look at the merged PRs -> Those are the updated CSV bundles; compare it with our old CSV bundle PRs: #5672

Have a look at the forks from the 4 marketplaces:

Check the branches! There should always be a branch operator-version-x.x.x have a look at the commit, compare it with previous merged PRs!

for 1.7.2:
redhat-openshift-ecosystem/community-operators-prod#8141
redhat-openshift-ecosystem/certified-operators#6997
k8s-operatorhub/community-operators#7098
redhat-openshift-ecosystem/redhat-marketplace-operators#1170

ℹ️ The GCR Deployer step works - we already used it in 1.7.2 and 1.6.3

Please double check in the workflow files if missed to copy any helper script, I tried to group the commits as good as possible, however I know it is still a lot.

EDIT:

Newest version here you can see the creation of the forks with matrices: https://github.com/waodim/dynatrace-operator/actions/runs/20066297741

Downloading operator-sdk 1.36.0 because this was the version we used in the concourse pipeline; We can rethink this in a follow up and try newer versions
Moved GCR deployer step to a point where we updated schema.yaml (After csv bundle PR is merged); uploaded Changelog as artifact to be able to use it later and set it in the Chart.yaml
The scripts deal with setting properties in the respective bundle yamls and so on
Logs in into our team user, forks respective repo, checks out a branch, pushes correct marketplace specific bundles to branch
@waodim waodim requested a review from a team as a code owner December 3, 2025 19:25
@waodim waodim added the ci Updates to the pipeline label Dec 3, 2025
@waodim waodim requested a review from chrismuellner December 10, 2025 10:59
avorima
avorima previously approved these changes Dec 10, 2025
Copy link
Contributor

@avorima avorima left a comment

Choose a reason for hiding this comment

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

last few comments, LGTM otherwise.

Incredible-O
Incredible-O previously approved these changes Dec 10, 2025
Copy link
Member

@Incredible-O Incredible-O left a comment

Choose a reason for hiding this comment

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

LGTM, but we'll need to address the following issues after merging this:

  • Break dependency on prepare-build-variables.sh script (see #5780)
  • Use GitHub apps everywhere, deprecating classic PATs

@Incredible-O Incredible-O requested a review from Copilot December 11, 2025 09:36
Copy link

Copilot AI left a comment

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 migrates the Dynatrace Operator release pipeline from Concourse to GitHub Actions, automating CSV bundle generation and marketplace repository updates. The migration eliminates the need for the external Concourse pipeline while maintaining all release functionality within GitHub's ecosystem.

Key changes:

  • Automated CSV bundle generation and updates via pull requests on release branches
  • Four marketplace repository fork creation (community, community-prod, certified, redhat) with operator-specific bundles
  • GCR deployer image build triggered by CSV bundle PR merges

Reviewed changes

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

Show a summary per file
File Description
.github/workflows/release.yaml Removed GCR deployer build from main release; added CSV bundle update job with changelog artifact handling
.github/workflows/gcr-deployer-image.yaml New workflow to build GCR deployer image when CSV bundle PRs merge to release branches
.github/workflows/create-marketplaces-forks.yaml New workflow that creates forks and pushes marketplace-specific bundles using matrix strategy for parallel execution
.github/scripts/release/directory_version.py Utility script to determine the latest semantic version from directory names
.github/scripts/release/csv/make_release_csv.py Script to prepare CSV files with marketplace-specific configurations and image references
.github/scripts/release/csv/finalize_csv_files.py Script to finalize CSV files by setting timestamps and olm.skipRange annotations
.github/actions/update-csv-bundles/action.yml Composite action that generates OLM bundles for both platforms and creates PR with updated CSV files

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 7 out of 7 changed files in this pull request and generated 6 comments.

Incredible-O
Incredible-O previously approved these changes Dec 11, 2025
Copy link
Contributor

@andriisoldatenko andriisoldatenko left a comment

Choose a reason for hiding this comment

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

code LGTM!

@waodim waodim merged commit 87e937b into main Dec 11, 2025
20 checks passed
@waodim waodim deleted the migrate/concourse-to-gha branch December 11, 2025 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Updates to the pipeline

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants