Skip to content

ROSAENG-65404: remove COPR from release automation - #948

Open
dustman9000 wants to merge 1 commit into
openshift:masterfrom
dustman9000:remove-copr-automation
Open

ROSAENG-65404: remove COPR from release automation#948
dustman9000 wants to merge 1 commit into
openshift:masterfrom
dustman9000:remove-copr-automation

Conversation

@dustman9000

@dustman9000 dustman9000 commented Aug 14, 2026

Copy link
Copy Markdown
Member

While testing the ROSAENG-65404 release automation end-to-end (#946, #947), the COPR trigger step failed with a 404 from the COPR_URL webhook secret.

Turns out osdctl doesn't actually need COPR:

  • The maintainer's real release process has always been tag + make release, which only ever published GitHub release assets. COPR was a separate, parallel automation nobody was relying on day to day.
  • backplane-tools installs osdctl straight from GitHub release tarballs (t.Source.FetchLatestRelease() + sha256sum.txt), not an RPM.
  • No other repo in the openshift org references an osdctl RPM/spec (checked via code search).

Rather than fix a webhook nobody needs, this removes COPR entirely:

  • drops the COPR trigger step from release-on-version-bump.yaml
  • deletes trigger_copr.yaml (fired on manual tag pushes)
  • deletes hack/copr.sh and the checked-in hack/osdctl.spec
  • updates README/Makefile references

Jira: https://redhat.atlassian.net/browse/ROSAENG-65404

Summary by CodeRabbit

  • Documentation

    • Updated release documentation to describe GitHub-based tagging and release publication.
    • Removed obsolete references to Fedora COPR builds, configuration, and packaging.
  • Chores

    • Removed the automated COPR build workflow and related packaging scripts.
    • Simplified release workflow validation and comments.
    • Removed COPR-specific installation and upgrade guidance.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Aug 14, 2026
@openshift-ci-robot

openshift-ci-robot commented Aug 14, 2026

Copy link
Copy Markdown

@dustman9000: This pull request references ROSAENG-65404 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.1.0" version, but no target version was set.

Details

In response to this:

While testing the ROSAENG-65404 release automation end-to-end (#946, #947), the COPR trigger step failed with a 404 from the COPR_URL webhook secret.

Turns out osdctl doesn't actually need COPR:

  • The maintainer's real release process has always been tag + make release, which only ever published GitHub release assets. COPR was a separate, parallel automation nobody was relying on day to day.
  • backplane-tools installs osdctl straight from GitHub release tarballs (t.Source.FetchLatestRelease() + sha256sum.txt), not an RPM.
  • No other repo in the openshift org references an osdctl RPM/spec (checked via code search).

Rather than fix a webhook nobody needs, this removes COPR entirely:

  • drops the COPR trigger step from release-on-version-bump.yaml
  • deletes trigger_copr.yaml (fired on manual tag pushes)
  • deletes hack/copr.sh and the checked-in hack/osdctl.spec
  • updates README/Makefile references

Jira: https://redhat.atlassian.net/browse/ROSAENG-65404

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 4c452456-f54e-4b6a-b79f-39b400fc29ad

📥 Commits

Reviewing files that changed from the base of the PR and between 7cc41c4 and de262c0.

📒 Files selected for processing (3)
  • cmd/upgrade_test.go
  • pkg/utils/version.go
  • pkg/utils/version_test.go
💤 Files with no reviewable changes (2)
  • pkg/utils/version_test.go
  • cmd/upgrade_test.go

Walkthrough

The release process no longer triggers or documents Fedora COPR builds. The COPR workflow, packaging script, and RPM specification were removed. Workflow comments, the Makefile, and README now describe GitHub tagging and Goreleaser publication.

Changes

Release process cleanup

Layer / File(s) Summary
Remove COPR release integration
.github/workflows/trigger_copr.yaml, hack/copr.sh, hack/osdctl.spec
Removed the COPR trigger workflow and RPM packaging files.
Align release workflow documentation
.github/workflows/release-on-version-bump.yaml, .github/workflows/release.yaml, Makefile
Removed COPR references from workflow and release comments. Version validation remains unchanged.
Remove COPR installation handling
pkg/utils/version.go, pkg/utils/version_test.go, cmd/upgrade_test.go
Removed COPR from installation-method documentation and related upgrade tests.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to de262

This change removes unused COPR release automation and related references without any identified current-head correctness, availability, security, or deployment risk; no actionable merge-blocking risk remains beyond normal checks and review.

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: removing COPR from release automation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The diff adds no Ginkgo tests or test titles. Changed Go tests only remove COPR table cases; existing titles remain standard, static Go test names.
Test Structure And Quality ✅ Passed The PR changes only standard testing table cases in cmd/upgrade_test.go and pkg/utils/version_test.go; no Ginkgo It blocks or cluster waits are introduced.
Microshift Test Compatibility ✅ Passed The PR adds no Ginkgo e2e tests; its only test changes remove table-driven cases from standard Go tests, so MicroShift compatibility checking is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The diff adds no Ginkgo e2e tests or It/Describe/Context/When declarations; it only removes COPR cases from ordinary Go unit tests and changes release files.
Topology-Aware Scheduling Compatibility ✅ Passed The diff changes release workflows, documentation, COPR files, and version tests only; it adds or modifies no deployment manifests, operator code, controllers, or scheduling constraints.
Ote Binary Stdout Contract ✅ Passed The PR diff changes workflows, documentation, and COPR/version logic only; no process-level stdout writes or OTE suite setup were added.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR adds no Ginkgo e2e tests. The only changed Go tests are standard testing tests, and their diffs remove cases only.
No-Weak-Crypto ✅ Passed The PR adds no weak-crypto code or secret comparisons. Added-line and source scans found no MD5, SHA1, DES, RC4, Blowfish, ECB, or crypto comparison indicators.
Container-Privileges ✅ Passed The diff adds no privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, or allowPrivilegeEscalation settings; it only removes COPR automation and updates documentation/code.
No-Sensitive-Data-In-Logs ✅ Passed The diff adds no sensitive-data logging; the only new echo reports a generic version-format error, while COPR webhook handling is removed.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@openshift-ci
openshift-ci Bot requested review from Nikokolas3270 and geowa4 August 14, 2026 16:08
@openshift-ci

openshift-ci Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dustman9000

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 14, 2026
@fullsend-ai-review

fullsend-ai-review Bot commented Aug 14, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 4:09 PM UTC · Completed 4:21 PM UTC

Commit: 7cc41c4 · View workflow run →

@fullsend-ai-review

fullsend-ai-review Bot commented Aug 14, 2026

Copy link
Copy Markdown

Review

Findings

Medium

  • [protected-path] .github/workflows/release-on-version-bump.yaml — This PR modifies files under the .github/ protected path (release-on-version-bump.yaml, release.yaml, trigger_copr.yaml). The PR body provides clear justification (removing unused COPR integration per ROSAENG-65404) and the change is well-scoped. Human approval is always required for protected-path changes, regardless of justification quality.
Previous run

Review

Findings

Medium

  • [protected-path] .github/workflows/release-on-version-bump.yaml — This PR modifies files under the .github/ protected path: .github/workflows/release-on-version-bump.yaml (modified), .github/workflows/release.yaml (modified), .github/workflows/trigger_copr.yaml (removed). The PR links to Jira ticket ROSAENG-65404 and explains the rationale for the changes. Human approval is always required for protected-path changes, regardless of context.

Low

  • [dead code / stale reference] pkg/utils/version.go:46 — The case "copr" branch in UpgradeInstruction() becomes dead code after this PR. The only two places that set InstallMethod=copr via ldflags were hack/copr.sh and hack/osdctl.spec, both deleted in this PR. Test cases referencing copr in pkg/utils/version_test.go and cmd/upgrade_test.go exercise a code path that can no longer be reached in production.
    Remediation: Consider removing the copr case from the switch in UpgradeInstruction(), updating related comments, and removing corresponding test cases in a follow-up PR.

Labels: PR removes COPR/Fedora packaging automation — a cleanup of dead release infrastructure

@fullsend-ai-review fullsend-ai-review Bot added requires-manual-review Review requires human judgment kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. labels Aug 14, 2026
osdctl's release process doesn't rely on Fedora COPR (releases have always
been tag + make release, publishing GitHub release assets only), and
backplane-tools installs osdctl straight from GitHub release tarballs, not
an RPM. Testing the new release-on-version-bump workflow surfaced that the
existing COPR_URL webhook is dead (404), and since nothing actually
consumes the COPR build, drop it entirely instead of fixing a webhook
nobody needs:

- remove the COPR trigger step from release-on-version-bump.yaml
- delete trigger_copr.yaml (fired on manual tag pushes)
- delete hack/copr.sh and the checked-in hack/osdctl.spec
- update README/Makefile references
@dustman9000
dustman9000 force-pushed the remove-copr-automation branch from 7cc41c4 to de262c0 Compare August 14, 2026 16:32
@dustman9000

Copy link
Copy Markdown
Member Author

Good catch on the dead copr case in UpgradeInstruction(). Removed it along with the now-unreachable copr test cases in version_test.go and upgrade_test.go. Pushed as de262c0.

@fullsend-ai-review

fullsend-ai-review Bot commented Aug 14, 2026

Copy link
Copy Markdown

🤖 Review · ❌ Terminated · Started 4:33 PM UTC · Ended 4:49 PM UTC

Commit: de262c0 · View workflow run →

@openshift-ci

openshift-ci Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

@dustman9000: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@fullsend-ai-review

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 4:33 PM UTC · Completed 4:49 PM UTC

Commit: de262c0 · View workflow run →

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. requires-manual-review Review requires human judgment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants