Skip to content

chore: replace semantic-release with manual GitHub Releases#387

Merged
skevetter merged 2 commits into
mainfrom
simplify-releases
May 19, 2026
Merged

chore: replace semantic-release with manual GitHub Releases#387
skevetter merged 2 commits into
mainfrom
simplify-releases

Conversation

@skevetter

@skevetter skevetter commented May 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Removes semantic-release, .releaserc.json, create-release-pr.yml, and semantic-release.yml
  • Adds .github/release.yml to configure auto-generated release notes (categorized by label)
  • Releases are now created manually via GitHub UI: Releases → Draft → pick tag → Generate release notes → Publish

This eliminates the commit signing issues, two-branch complexity, and conventional commit enforcement for releases.

Summary by CodeRabbit

  • Chores
    • Updated release management configuration with new GitHub release changelog settings.
    • Removed legacy semantic-release automation workflows and associated dependencies.

Review Change Stack

Remove semantic-release, create-release-pr workflow, and .releaserc.json.
Releases are now created manually via the GitHub UI with auto-generated
release notes configured in .github/release.yml.
@netlify

netlify Bot commented May 19, 2026

Copy link
Copy Markdown

Deploy Preview for devsydev canceled.

Name Link
🔨 Latest commit 6e48f2c
🔍 Latest deploy log https://app.netlify.com/projects/devsydev/deploys/6a0cb2563c621400089b3319

@coderabbitai

coderabbitai Bot commented May 19, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@skevetter has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 52 minutes and 36 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: cf9eb0f0-b3fb-480e-92b9-d87a3cbee4f9

📥 Commits

Reviewing files that changed from the base of the PR and between 359489a and 6e48f2c.

📒 Files selected for processing (1)
  • .github/workflows/create-release.yml
📝 Walkthrough

Walkthrough

This PR migrates the repository from semantic-release–based automated release management to GitHub's native release changelog configuration. It removes the semantic-release workflows, configuration file, and dependency, and adds a new .github/release.yml to configure GitHub's built-in changelog generation with label-based categorization.

Changes

Release automation migration

Layer / File(s) Summary
GitHub release changelog configuration
.github/release.yml
New configuration file excludes entries authored by devsy-app[bot] with the skip-changelog label and groups changelog entries into four categories: "Features", "Bug Fixes", "Infrastructure", and "Other Changes" based on label patterns.
Remove semantic-release dependency
package.json
Removes semantic-release from devDependencies; .github/workflows/create-release-pr.yml, .github/workflows/semantic-release.yml, and .releaserc.json are removed entirely.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • devsy-org/devsy#379: Both PRs modify semantic-release setup—the main PR removes the entire semantic-release automation infrastructure, while PR #379 adjusts workflow settings for signing.
  • devsy-org/devsy#381: The main PR removes .github/workflows/create-release-pr.yml entirely, which is the workflow that PR #381 modifies with git range corrections.
  • devsy-org/devsy#375: Both PRs affect the semantic-release setup—the main PR removes it, while PR #375 adjusts .releaserc.json plugins and workflow checkout configuration.

Suggested labels

size/l

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: removing semantic-release automation and replacing it with GitHub's manual release functionality, which is the core intent of the PR.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/release.yml:
- Around line 5-6: The current exclude.authors entry (the authors field
containing "devsy-app[bot]") causes all PRs from that bot to be excluded
regardless of labels; to make exclusion conditional on the skip-changelog label,
remove the authors entry under exclude (delete the authors: - devsy-app[bot]
block) so only the exclude.labels rule applies, or alternatively move the bot
name into a labels-based rule; update the release configuration by editing the
exclude section to drop the authors key so label-only filtering (e.g.,
exclude.labels: ["skip-changelog"]) is used.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7998808e-838f-46bd-9418-83e3dc8abc84

📥 Commits

Reviewing files that changed from the base of the PR and between bf184ca and 359489a.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (5)
  • .github/release.yml
  • .github/workflows/create-release-pr.yml
  • .github/workflows/semantic-release.yml
  • .releaserc.json
  • package.json
💤 Files with no reviewable changes (3)
  • .github/workflows/semantic-release.yml
  • .releaserc.json
  • .github/workflows/create-release-pr.yml

Comment thread .github/release.yml
Comment on lines +5 to +6
authors:
- devsy-app[bot]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

In GitHub .github/release.ymlfor generated release notes, doeschangelog.excludetreatlabelsandauthorsas independent exclusion criteria (OR behavior)? Specifically, ifauthorsincludesdevsy-app[bot], are all PRs from that author excluded regardless of labels?

💡 Result:

Yes—changelog.exclude.labels and changelog.exclude.authors are independent exclusion filters, and a PR is excluded if it matches either exclusion list. GitHub’s documentation for automatically generated release notes says changelog.exclude.labels is a list of labels that exclude a pull request from appearing in release notes, and changelog.exclude.authors is a list of user or bot login handles whose pull requests are to be excluded from release notes [1][2]. Since both are described as separate exclusion criteria at the same level (changelog.exclude), including an author like devsy-app[bot] in changelog.exclude.authors will exclude all PRs opened by that author from the generated release notes, regardless of the PR’s labels [1][2]. (Important nuance: the docs also support per-category exclusions via changelog.categories[*].exclude.*, which similarly define exclusions within a category scope; but for your specific question about changelog.exclude, the behavior is “exclude by labels OR exclude by authors” in effect.) [2]

Citations:


exclude.authors excludes all bot PRs independent of labels.

The authors field on Lines 5–6 will exclude every pull request from devsy-app[bot], regardless of labels. This is independent from labels filtering—a PR is excluded if it matches either criterion. If the intent is to exclude PRs only when they are labeled skip-changelog, remove the authors section.

Suggested change
 changelog:
   exclude:
     labels:
       - skip-changelog
-    authors:
-      - devsy-app[bot]
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
authors:
- devsy-app[bot]
changelog:
exclude:
labels:
- skip-changelog
categories:
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/release.yml around lines 5 - 6, The current exclude.authors entry
(the authors field containing "devsy-app[bot]") causes all PRs from that bot to
be excluded regardless of labels; to make exclusion conditional on the
skip-changelog label, remove the authors entry under exclude (delete the
authors: - devsy-app[bot] block) so only the exclude.labels rule applies, or
alternatively move the bot name into a labels-based rule; update the release
configuration by editing the exclude section to drop the authors key so
label-only filtering (e.g., exclude.labels: ["skip-changelog"]) is used.

Pushing a tag matching v* creates a GitHub Release with auto-generated
notes. Tags with a hyphen (e.g., v1.5.0-rc.1) create pre-releases,
clean semver tags (e.g., v1.5.0) create stable releases.
@github-actions github-actions Bot removed the size/m label May 19, 2026
@skevetter skevetter merged commit d66ab9f into main May 19, 2026
16 checks passed
@skevetter skevetter deleted the simplify-releases branch May 19, 2026 19:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant