Skip to content

chore(versioning): Add semantic versioning CI action#3

Merged
LinnJS merged 5 commits intomainfrom
chore/semantic-versioning
Oct 16, 2025
Merged

chore(versioning): Add semantic versioning CI action#3
LinnJS merged 5 commits intomainfrom
chore/semantic-versioning

Conversation

@LinnJS
Copy link
Owner

@LinnJS LinnJS commented Oct 16, 2025

Description

Add automated semantic versioning with conventional commits. CI workflows automatically bump versions, update CHANGELOG.md, and create GitHub releases when PRs are merged to main. Includes commit message validation on PRs.

Type of change

  • feat
  • fix
  • docs
  • refactor
  • test
  • chore

Checklist

  • Tests added/updated (if applicable) – Scripts tested locally
  • Docs updated (README/docs) – Added VERSIONING.md, updated CONTRIBUTING.md and README.md
  • Conventional commits followed – This commit uses ci(release): Add automated semantic versioning
  • Lint/type checks pass locally – All markdown files pass make lint

Related issues

Closes N/A (infrastructure improvement)

Screenshots

N/A – CI/automation change

Notes for reviewers

What This Adds

Workflows

  • .github/workflows/release.yml – Auto-creates releases on main branch merges
  • .github/workflows/commit-lint.yml – Validates commit messages on PRs

Scripts

  • scripts/bump-version.sh – Auto-detects version bump from conventional commits
  • scripts/update-changelog.sh – Generates changelog from commits

Documentation

  • docs/VERSIONING.md – Complete guide to versioning process
  • Updated CONTRIBUTING.md with commit format requirements
  • Updated README.md with versioning guide link

Format Changes

  • Reformatted CHANGELOG.md to match automated output format
  • Fixed Makefile to suppress Node.js experimental warnings

Commit Format Required

All commits must follow:
type(dir): Description

Example:
feat(lock): Add bulk lock operation

After Merge

The release workflow will not trigger for this chore commit.
To test the automation, merge a PR with a feat():, fix():, perf():, or refactor(): commit to main.

@LinnJS LinnJS self-assigned this Oct 16, 2025
@LinnJS LinnJS added chore 🧹 Repository chore or maintenance work hacktoberfest-accepted 🎃 Hacktoberfest accepted - auto-applied in October for contributors labels Oct 16, 2025
@github-actions github-actions bot added the maintenance 🔧 Maintenance tasks - routine upkeep and housekeeping (conventional commit: chore) label Oct 16, 2025
@github-actions
Copy link

🏷️ Auto-labeled based on commits: chore

@github-actions github-actions bot added the size/XL 🦖 Extra large change - 500+ lines modified, consider splitting label Oct 16, 2025
@github-actions
Copy link

🏷️ Auto-labeled based on commits: chore

@github-actions github-actions bot added size/XL 🦖 Extra large change - 500+ lines modified, consider splitting and removed size/XL 🦖 Extra large change - 500+ lines modified, consider splitting labels Oct 16, 2025
@github-actions github-actions bot added size/XL 🦖 Extra large change - 500+ lines modified, consider splitting and removed size/XL 🦖 Extra large change - 500+ lines modified, consider splitting labels Oct 16, 2025
@LinnJS LinnJS marked this pull request as ready for review October 16, 2025 09:45
@LinnJS LinnJS merged commit 20d93f8 into main Oct 16, 2025
6 checks passed
@LinnJS LinnJS deleted the chore/semantic-versioning branch October 16, 2025 09:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore 🧹 Repository chore or maintenance work hacktoberfest-accepted 🎃 Hacktoberfest accepted - auto-applied in October for contributors maintenance 🔧 Maintenance tasks - routine upkeep and housekeeping (conventional commit: chore) size/XL 🦖 Extra large change - 500+ lines modified, consider splitting

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant