Skip to content

feat(ci): automated release workflow with semantic versioning#257

Merged
jdnichollsc merged 15 commits intomasterfrom
feature/semantic-release
Mar 16, 2026
Merged

feat(ci): automated release workflow with semantic versioning#257
jdnichollsc merged 15 commits intomasterfrom
feature/semantic-release

Conversation

@jdnichollsc
Copy link
Member

Summary

  • Adds automated release pipeline (release.yml) that handles the full release lifecycle
  • Syncs all version files to 2.6.3 on develop
  • Updates ci.yml to avoid race conditions with the release workflow

What the release workflow does

  1. Detects version bump from Conventional Commits (feat: → minor, fix: → patch, BREAKING CHANGE → major)
  2. Updates all 4 version files simultaneously (package.json, .csproj, .nuspec, AssemblyInfo.cs)
  3. Generates CHANGELOG.md entry in Keep a Changelog format (### Added, ### Fixed, etc.)
  4. Creates GitHub Release with tag vX.Y.Z and name Release X.Y.Z
  5. Publishes NuGet package to nuget.org (requires NUGET_API_KEY secret — already configured)
  6. Splits UPM + NuGet branches (same logic as existing ci.yml)

Triggers

  • Automatic: Push to master (e.g., merging a PR from develop)
  • Manual: workflow_dispatch with version bump selector (patch/minor/major)

Test plan

  • Merge this PR to master
  • Verify release workflow triggers and creates Release 2.6.3
  • Verify CHANGELOG.md is updated
  • Verify NuGet package is published
  • Verify UPM and NuGet branches are updated
  • Test manual workflow_dispatch with a patch bump

🤖 Generated with Claude Code

Kevinsomnia and others added 15 commits October 24, 2022 19:16
Fix HEAD promise method incorrectly calling DELETE
added `maifeeulasad` to the list of contributors
…on-maifee

fix for abruptly aborted requests
- Add release.yml: auto version bump, changelog generation, GitHub Release,
  NuGet publish, and UPM/NuGet branch splitting
- Triggers on push to master + manual workflow_dispatch
- Updates all 4 version files (package.json, .csproj, .nuspec, AssemblyInfo.cs)
- Generates Keep a Changelog format entries with contributor credits
- Creates GitHub Release named "Release X.Y.Z" with tag vX.Y.Z
- Publishes NuGet package via NUGET_API_KEY secret
- Sync version files on develop to 2.6.3
- Update ci.yml with paths-ignore to prevent race conditions
- Build and attach source tarball to GitHub Releases (no binaries in git)
- Add .gitignore rules for Unity stub DLLs and build artifacts
- Fix NuGet publish condition to use secrets context
- Addresses issue #219 (missing meta files in UPM)
- Build real .unitypackage using Unity package format (GUID dirs with
  asset, asset.meta, pathname) — no Unity Editor required
- Switch from dotnet pack to nuget pack (old-style .csproj is not
  SDK-compatible, dotnet pack would fail)
- Tag UPM branch with upm/X.Y.Z for OpenUPM version detection
- Clean UPM branch removes non-Unity files (fixes #219)
- Attach .unitypackage to GitHub Release (matches README install docs)
@jdnichollsc jdnichollsc merged commit 34ae343 into master Mar 16, 2026
2 of 3 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.

3 participants