Skip to content

Add automated release workflow for GitHub Actions#29

Merged
VPDPersonal merged 1 commit into
mainfrom
claude/setup-release-workflow-pQWR8
May 18, 2026
Merged

Add automated release workflow for GitHub Actions#29
VPDPersonal merged 1 commit into
mainfrom
claude/setup-release-workflow-pQWR8

Conversation

@VPDPersonal
Copy link
Copy Markdown
Owner

@VPDPersonal VPDPersonal commented May 18, 2026

Summary

  • Added .github/workflows/release.yml to automate the release process for tagged versions and manual dispatch
  • Workflow validates version format (SemVer), checks package.json alignment, extracts CHANGELOG entries, builds generators, and publishes UPM subtree
  • Supports both tag-triggered releases and manual workflow dispatch with custom version input
  • Creates immutable per-version UPM tags and updates the upm branch for package manager consumption

Notes for review

The workflow enforces several pre-release checks:

  • Version validation: Ensures SemVer format and detects pre-releases (e.g., 1.0.0-rc.2)
  • package.json sync: Verifies the version in package.json matches the release tag
  • CHANGELOG requirement: Extracts the release notes section; fails if missing
  • Generator DLL verification: Confirms the compiled generator is present in the package before release
  • UPM publishing: Uses git subtree split to publish the package contents to immutable upm/VERSION tags and the upm branch for Package Manager consumption

The workflow can be triggered by:

  1. Pushing a tag matching v* (e.g., v1.0.0)
  2. Manual dispatch via GitHub Actions UI with a custom version string

Pre-release versions (containing -) are automatically marked as GitHub pre-releases.

Adds .github/workflows/release.yml triggered by either pushing a v* tag
or running workflow_dispatch with an explicit version. The workflow
validates that the version matches package.json and that CHANGELOG.md
has a section for it, builds the Roslyn generators on CI to prove the
generator code compiles cleanly, splits the package subtree
(Aspid.FastTools/Assets/Aspid/FastTools) into an upm branch and an
immutable upm/x.y.z tag for UPM-style installs, and creates a GitHub
Release whose body is the extracted CHANGELOG section. Pre-release
status is auto-detected from the SemVer pre-release identifier.
@VPDPersonal VPDPersonal merged commit 2c2dad7 into main May 18, 2026
1 check passed
@VPDPersonal VPDPersonal deleted the claude/setup-release-workflow-pQWR8 branch May 18, 2026 07:20
@VPDPersonal VPDPersonal added the type: ci CI / build pipeline changes label May 18, 2026 — with Claude
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: ci CI / build pipeline changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants