Skip to content

Releases: dianplus/cloud-instance-github-runner

Release v1.0.2

17 Dec 07:45
v1.0.2
7147ba0

Choose a tag to compare

Added

  • Added branding configuration (icon and color) to action.yml for GitHub Marketplace support
  • Added CHANGELOG.md following Keep a Changelog format
  • Added CI workflow (.github/workflows/ci.yml) for automated validation of action.yml
  • Added release workflow (.github/workflows/release.yml) for automated release creation
  • Added scripts/update-changelog.sh script for automating CHANGELOG.md version updates

Release v1.0.1

13 Dec 03:57
57cd49f

Choose a tag to compare

Release Date: December 12, 2025

🎉 Initial Release

This is the first stable release of the Setup Aliyun ECS Spot Runner GitHub Action. This action enables you to dynamically create and configure self-hosted GitHub Actions runners on Aliyun ECS Spot instances, providing a cost-effective solution for CI/CD workloads.

✨ Features

Core Functionality

  • Dynamic Spot Instance Selection: Automatically selects optimal Spot instances based on CPU, memory, and architecture requirements
  • Multi-Architecture Support: Full support for both AMD64 and ARM64 architectures
  • Automatic Runner Setup: Automatically installs and configures GitHub Actions Runner on instance startup
  • Ephemeral Runner Mode: Support for automatic cleanup after task completion
  • Instance Self-Destruct: Optional automatic instance deletion after Runner exits using ECS roles

Instance Management

  • Flexible Instance Selection:
    • Automatic selection based on CPU/memory/architecture constraints
    • Support for specifying exact instance type (bypasses automatic selection)
  • Multi-Zone Support: Support for VSwitches across all availability zones (A-Z)
  • Proxy Configuration: Built-in support for HTTP/HTTPS proxy configuration (recommended for Mainland China regions)

Reliability

  • Automatic Cleanup: Instance cleanup on failure to prevent resource leaks
  • Runner Health Monitoring: Waits for runner to come online with configurable timeout
  • Unique Runner Names: Ensures runner name uniqueness with timestamp and random suffix

🔧 Improvements

Performance

  • Reduced default runner timeout from 300s to 120s for faster feedback
  • Improved runner name generation with random suffix for better uniqueness

Developer Experience

  • Added Aliyun CLI installation script in user-data for better instance management
  • Fixed proxy variable export format for systemd compatibility
  • Enhanced documentation with comprehensive usage examples and permission requirements

Documentation

  • Complete README with usage examples for basic, multi-architecture, and specific instance type scenarios
  • Detailed permission configuration guide for both GitHub and Aliyun
  • Troubleshooting section with common issues and solutions
  • Architecture notes explaining CPU:RAM ratios and instance family limitations

📋 What's Included

Input Parameters

  • Required: Aliyun credentials, region, VPC, security group, GitHub token
  • Optional: Instance type specification, architecture selection, CPU/memory constraints, proxy settings, VSwitch IDs for all zones

Output Parameters

  • instance_id: Created ECS instance ID
  • runner_name: Generated runner name
  • runner_online: Runner online status
  • cpu_cores: Instance CPU cores

🚀 Getting Started

- name: Setup Aliyun ECS Spot Runner
  uses: dianplus/cloud-instance-github-runner@v1.0.0
  with:
    aliyun_access_key_id: ${{ secrets.ALIYUN_ACCESS_KEY_ID }}
    aliyun_access_key_secret: ${{ secrets.ALIYUN_ACCESS_KEY_SECRET }}
    aliyun_region_id: "cn-hangzhou"
    aliyun_vpc_id: ${{ vars.ALIYUN_VPC_ID }}
    aliyun_security_group_id: ${{ vars.ALIYUN_SECURITY_GROUP_ID }}
    aliyun_image_family: "acs:ubuntu_24_04_arm64"
    github_token: ${{ secrets.RUNNER_REGISTRATION_PAT }}
    arch: arm64
    min_cpu: 8

📝 Commit History

  • 57cd49f - docs: update README to clarify PAT access and permissions
  • 325e929 - feat(docs): enhance README with additional permissions and role name updates
  • a3be47e - feat(spot-instance): add support for specifying exact instance type
  • 65553a6 - refactor(docs): streamline README content and clarify permissions
  • fdea210 - feat(docs): update README for usage example
  • 5c79ef0 - fix(user-data): update proxy variable export format for systemd compatibility
  • 73b3722 - feat(user-data): add installation script for Aliyun CLI
  • 67e1fb8 - fix(action): reduce default timeout for runner from 300s to 120s
  • d8cd79d - fix(runner): improve runner name uniqueness and update documentation
  • 0a7de85 - feat: initial commit - Aliyun ECS Spot Runner GitHub Action

🔗 Resources

📄 License

MIT