Skip to content

chore(release): remove graduation overrides and vestigial component - #13

Merged
kphunter merged 1 commit into
mainfrom
devin/1776740448-release-please-cleanup
Apr 21, 2026
Merged

chore(release): remove graduation overrides and vestigial component#13
kphunter merged 1 commit into
mainfrom
devin/1776740448-release-please-cleanup

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Apr 21, 2026

Copy link
Copy Markdown
Contributor

Summary

Two related cleanups to release-please-config.json as a follow-up to #9 / #12.

1. Remove the temporary graduation overrides

  • release-as: "0.3.0"
  • prerelease: false

These were added by #12 to force release-please to cut a clean-stable 0.3.0 on the PR #9 run (instead of 0.3.0-rc). With 0.3.0 now on main, leaving them in would make release-please keep proposing 0.3.0 on every run (no-op but noisy) and block the next normal rc bump.

2. Remove the vestigial component: "haproxy-operator" entry

This was a holdover from pre-strict-D, when the repo's tag format was haproxy-operator-v*. After #8 adopted strict-D, include-component-in-tag flipped to false — tags should now be plain vX.Y.Z — but the component field was left in place.

Why this matters: with separate-pull-requests: false and no custom pull-request-title-pattern, release-please renders the release PR title as chore: release main — which has no ${component} token. On the post-merge run for PR #9, release-please logged:

⚠ PR component: undefined does not match configured component: haproxy-operator

while building the release for path ., and aborted without creating the v0.3.0 tag or GitHub release. The follow-up dispatch-publish step in release-please.yaml was therefore skipped, so the 0.3.0 image/chart were never published and the moving stable/latest OCI pointers were not moved.

Dropping the single-package component brings the config in line with a normal single-component strict-D repo (compare technical-operations-documentation) and lets release-please parse chore: release main correctly on future releases.

Relevant config post-change:

{
  "include-component-in-tag": false,
  "separate-pull-requests": false,
  "versioning": "prerelease",
  "prerelease": true,
  "prerelease-type": "rc",
  "packages": {
    ".": {
      "release-type": "simple",
      "extra-files": [
        { "type": "generic", "path": "charts/haproxy-operator/Chart.yaml" }
      ]
    }
  }
}

Expected effect once merged

  1. release-please runs on the new main commit.
  2. PR chore: release main #9 still carries autorelease: pending. With the title-parsing mismatch resolved, release-please should now create the v0.3.0 git tag on merge commit a1d1058 + the corresponding GitHub release.
  3. release-please.yaml re-dispatches ci.yaml at refs/tags/v0.3.0, which publishes the immutable :0.3.0 image + chart and moves the :stable / :latest OCI pointers (since 0.3.0 is now the highest stable SemVer for this repo — the only prior tag is the legacy haproxy-operator-v0.2.0, which is inert under the current tag format).

If for any reason release-please still doesn't tag v0.3.0 on this run, the fallback is a manual annotated tag on a1d1058 + matching GitHub release — which triggers the same dispatch-publish path.

Review & Testing Checklist for Human

  • Confirm you're OK removing component: "haproxy-operator" (this changes how release-please groups path . in logs/release titles; tags are unaffected because include-component-in-tag is already false).
  • After merge, watch the release-please run and confirm it creates tag v0.3.0 on commit a1d1058 + a GitHub release. If it does, also confirm the follow-up CI tag run publishes :0.3.0 + moves :stable / :latest on both ghcr.io/bcit-tlu/haproxy-operator/haproxy-operator and ghcr.io/bcit-tlu/haproxy-operator/charts/haproxy-operator.
  • If the release-please run still skips tag creation, ping so the fallback (manual v0.3.0 tag on a1d1058) can be cut.

Notes

No code changes — only release-please-config.json. CI runs that gate on Go / Helm changes are unaffected.

Link to Devin session: https://app.devin.ai/sessions/8688f4d14a8f46839fd8ede494e61166
Requested by: @kphunter


Open in Devin Review

Follow-up to #12 / #9. Two related cleanups:

1. Remove the temporary graduation overrides that forced release-please
   to cut a clean '0.3.0' instead of '0.3.0-rc':
     - 'release-as': '0.3.0'
     - 'prerelease': false
   With '0.3.0' now on main, leaving these in would make release-please
   keep proposing 0.3.0 on every run (no-op but noisy) and block the
   next normal rc bump.

2. Remove the vestigial 'component': 'haproxy-operator' entry.
   Under strict-D this repo uses 'include-component-in-tag': false, so
   tags are 'vX.Y.Z' (no component prefix). The component field was a
   holdover from pre-strict-D (when the tag was 'haproxy-operator-v*').
   With 'separate-pull-requests': false + no custom title pattern,
   release-please renders the release PR title as 'chore: release main'
   — which contains no ${component} token. On the post-merge run of
   PR #9 this caused release-please to log
     'PR component: undefined does not match configured component:
     haproxy-operator'
   while building the release for path '.', and abort without creating
   the v0.3.0 tag or GitHub release. The follow-up 'dispatch-publish'
   step was therefore skipped, so the 0.3.0 image/chart were never
   published and the moving 'stable'/'latest' OCI pointers were not
   moved.

   Dropping the single-package component brings the config in line
   with a normal single-component strict-D repo (compare tech-ops-docs)
   and lets release-please parse 'chore: release main' correctly on
   future releases.

Co-Authored-By: kyle_hunter@bcit.ca <kyle_hunter@bcit.ca>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

@kphunter
kphunter merged commit feb193d into main Apr 21, 2026
6 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.

1 participant