Skip to content

fix: Disable automated major version bumps in CI#543

Merged
Wikid82 merged 2 commits intomainfrom
feature/beta-release
Jan 16, 2026
Merged

fix: Disable automated major version bumps in CI#543
Wikid82 merged 2 commits intomainfrom
feature/beta-release

Conversation

@Wikid82
Copy link
Owner

@Wikid82 Wikid82 commented Jan 16, 2026

Problem

Auto-versioning workflow was incorrectly calculating v1.0.0 due to commits containing "BREAKING CHANGE:" text (even "BREAKING CHANGE: None").

Solution

  • Disabled automated major version bumps by using unmatchable regex pattern
  • Major version bumps now require manual git tag creation
  • Preserved automated minor (feat:) and patch (fix:, chore:, etc.) bumps

Changes

  • Updated .github/workflows/auto-versioning.yml:
    • Changed major_pattern to /__MANUAL_MAJOR_BUMP_ONLY__/ (never matches)
    • Updated documentation to reflect manual major bump requirement
    • Removed patch_pattern (not supported by semantic-version action)

Impact

  • ✅ Prevents accidental major version bumps from commit message text
  • ✅ feat: commits → 0.14.x → 0.15.0 (minor bump)
  • ✅ fix:/chore: commits → 0.14.1 → 0.14.2 (patch bump)
  • ⚠️ Major bumps require manual tagging: git tag -a v1.0.0 -m "Release 1.0.0"

Testing

  • Workflow syntax validated (no errors)
  • Pattern will be validated on next merge to main

Related to previous DNS feature merge that should have created v0.15.0.

Copilot AI review requested due to automatic review settings January 16, 2026 04:29
@Wikid82 Wikid82 merged commit 9f7deea into main Jan 16, 2026
3 checks passed
Copy link
Contributor

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 fixes an auto-versioning issue where commits containing "BREAKING CHANGE:" text (including "BREAKING CHANGE: None") were incorrectly triggering major version bumps. The solution disables automated major version bumps entirely, requiring manual git tag creation for major releases.

Changes:

  • Modified major_pattern regex to use an unmatchable pattern (/__MANUAL_MAJOR_BUMP_ONLY__/)
  • Updated workflow comments to document manual-only major version bump requirement
  • Removed patch_pattern configuration (not supported by the semantic-version action)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

major_pattern: "/__MANUAL_MAJOR_BUMP_ONLY__/"
# Regex pattern for minor version bump (new features)
# Matches: "feat:" prefix in commit messages (Conventional Commits)
minor_pattern: "/(feat|feat\\()/"
Copy link

Copilot AI Jan 16, 2026

Choose a reason for hiding this comment

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

The minor_pattern includes redundant logic. The pattern /(feat|feat\\()/ matches both feat and feat(, but since feat alone would match both cases, the feat\\( alternative is unnecessary. Consider simplifying to "/feat/" or if you need to be explicit about scopes, use "/feat(\\(|:)/" to match feat: or feat(.

Suggested change
minor_pattern: "/(feat|feat\\()/"
minor_pattern: "/feat(\\(|:)/"

Copilot uses AI. Check for mistakes.
major_pattern: "/(feat|fix|chore|refactor|perf|test|docs|style|build|ci)!:|BREAKING CHANGE:(?!\\s*None)/"
# Regex pattern for major version bump - DISABLED (manual only)
# Use a pattern that will never match to prevent automated major bumps
major_pattern: "/__MANUAL_MAJOR_BUMP_ONLY__/"
Copy link

Copilot AI Jan 16, 2026

Choose a reason for hiding this comment

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

The pattern uses double underscores which, while functional as an unmatchable pattern, is not a standard regex practice. A more conventional approach would be to use a pattern that explicitly cannot match any valid commit message, such as "^(?!.*).*$" (matches nothing) or simply an empty string "" if the action supports it. However, the current pattern is clear in intent and will work correctly, so this is a style preference rather than a functional issue.

Suggested change
major_pattern: "/__MANUAL_MAJOR_BUMP_ONLY__/"
major_pattern: "^(?!.*).*$"

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Contributor

🚨 Supply Chain Verification Results

FAILED

📦 SBOM Summary

  • Components: 755

🔍 Vulnerability Scan

Severity Count
🔴 Critical 1
🟠 High 0
🟡 Medium 8
🟢 Low 1
Total 11

📎 Artifacts

  • SBOM (CycloneDX JSON) and Grype results available in workflow artifacts

Generated by Supply Chain Verification workflow • View Details

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.

3 participants