feat(ci): add automated testing and release workflows#554
Conversation
Implement comprehensive CI/CD automation for JEngine: - Add reusable Unity test workflow with EditMode/PlayMode support - Add PR testing workflow with automatic test result comments - Add release automation workflow with dual-package version bumping - Add automatic changelog generation from conventional commits - Add GitHub App authentication for secure bot commits - Add conventional commit guidelines to CLAUDE.md - Add PR template to guide contributors on commit format This enables: - Automated Unity testing on every PR - One-click releases with automatic version updates - Automatic changelog generation and GitHub releases - OpenUPM integration for package distribution Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Unity Test Results✅ EditMode: All tests passed Unity Version: 2022.3.55f1 ✅ All tests passed! The PR is ready for review. View workflow run |
- GitHub releases now ONLY created when Core is released - Release tags always use Core version (e.g., v1.0.6) - Util-only releases: update package.json only, no GitHub release - OpenUPM detects both packages from package.json changes - README updates only when Core is released - Clear summary messages for Util-only updates This ensures version consistency and avoids unnecessary GitHub releases.
Always display both package versions in changelogs for clarity: - Core + Util release: shows both new versions - Core only: shows new Core version, mentions Util remains unchanged - Util only: shows new Util version, mentions Core remains unchanged This helps users understand version compatibility at a glance.
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
OpenUPM requires git tags to detect package updates. Updated workflow: **Core Release:** - Tag: v1.0.6 (Core version) - GitHub Release: ✅ Created - CHANGE.md: ## 1.0.6 (Date) **Util-Only Release:** - Tag: util-v1.0.1 (Util version, prefixed with 'util-') - GitHub Release: ❌ Not created - CHANGE.md: ## 1.0.5 (Date) - Util v1.0.1 This ensures: - OpenUPM always detects updates via git tags - GitHub releases only created for Core (version consistency) - Clear distinction between Core and Util-only releases
Code ReviewFound 2 bugs in the workflow files that need to be fixed: Issue 1: sed command will insert literal
|
Description
This PR implements comprehensive CI/CD automation for JEngine, enabling automated testing on PRs and one-click releases with automatic changelog generation.
Type of Change
Package Scope
com.jasonxudeveloper.jengine.core)com.jasonxudeveloper.jengine.util)What's Included
1. Automated PR Testing
2. Release Automation
3. Developer Guidelines
Benefits
✅ Automated Testing: Every PR runs Unity tests automatically
✅ Quality Control: Tests must pass before merge
✅ Easy Releases: One-click releases with automatic version bumping
✅ Auto Changelog: Generated from conventional commits
✅ OpenUPM Integration: Automatic package publishing
✅ Consistent Commits: Guidelines for contributors
Testing
This PR itself will test the PR workflow:
After merge, the release workflow can be tested manually via Actions tab.
Test environment:
Changes Since Previous PR #553
masterinstead offix/build-error-handlingstatuses: writepermission to PR tests workflowAdditional Notes
Prerequisites (already completed):
First run timing:
Post-merge tasks:
🤖 This PR was prepared with assistance from Claude Code