Skip to content

Conversation

@ryanaidilp
Copy link
Contributor

Summary

This PR adds comprehensive GitHub Actions automation for the PICO SulTeng COVID-19 API documentation site, including release management, backmerging, and deployment workflows.

What's Added

🔄 Release Automation

  • Release workflow (release-automation.yml) - Triggers on release/v* or hotfix/v* branch creation
  • Changelog generation (scripts/generate_changelog.rb) - Ruby script for conventional commit changelogs
  • Version bumping - Automatically updates package.json version
  • PR creation - Creates release PR with conventional commit titles for review

🔀 Backmerge Automation

  • Backmerge workflow (backmerge-to-develop.yml) - Creates PR to merge main back to develop
  • Version-aware PR titles - Includes version in titles (e.g., "chore: backmerge v1.2.3 to develop")
  • Conflict handling - Creates separate PR with instructions if conflicts occur
  • Review required - All backmerge PRs require approval before merging

🚀 Deployment Automation

  • Deployment workflow (deploy.yml) - Automated deployment to Hostinger on version tags
  • Health checks - Multiple retry attempts with content verification
  • Automatic rollback - Restores previous version if health checks fail
  • Backup management - Creates backups and cleans up on success
  • SSH deployment - Secure upload via SSH/SCP

🛠️ Deployment Tools

  • Deployment script (deploy.sh) - Prepares Vue.js build for upload
  • Health monitoring - Verifies site accessibility and content
  • Static site optimized - No server processes, just file deployment

Workflow Integration

  1. Developmentdevelop branch
  2. Release branchrelease/v1.2.3 (triggers version/changelog automation)
  3. Release PR → Created automatically for review
  4. Merge to main → Triggers deployment and backmerge
  5. Backmerge PR → Created automatically to sync develop

Features

  • ✅ Conventional commit message style throughout
  • ✅ No attribution in commit messages or PR descriptions
  • ✅ Ruby-based changelog with commit categorization
  • ✅ Comprehensive health checks with rollback capability
  • ✅ SSH deployment to same server as Go API
  • ✅ Backup management and cleanup
  • ✅ Review-based workflow (no direct merges)

Testing

All workflows have been tested with proper error handling, backup/rollback mechanisms, and conventional commit compliance.

- Add Ruby script to generate conventional commit changelogs
- Add GitHub Actions workflow for release/hotfix automation
- Workflow triggers on release/v* or hotfix/v* branch creation
- Automatically bumps package.json version and generates changelog
- Creates PR with conventional commit title for review
- Extract version from release/hotfix branch names
- Update PR titles to include version (e.g. 'chore: backmerge v1.2.3 to develop')
- Handle both conflict and non-conflict scenarios with versioned titles
…back

- Create deployment script for static site preparation
- Add GitHub workflow for automated deployment on tag push
- Implement robust health check system with multiple retry attempts
- Add automatic rollback to previous version if health checks fail
- Clean up backup files only after successful health verification
- Support for SSH deployment to Hostinger shared hosting
@ryanaidilp ryanaidilp self-assigned this Sep 8, 2025
@ryanaidilp ryanaidilp merged commit b02bd08 into develop Sep 8, 2025
@ryanaidilp ryanaidilp deleted the feature/github-workflow-setup branch September 8, 2025 01:19
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.

2 participants