๐ gem-ci

The Ultimate Ruby Gem Automation Showcase
Battle-tested GitHub Actions workflows with comprehensive CI/CD, security, and community management
โจ What This Provides
9 comprehensive workflows for complete Ruby gem automation:
- ๐ CI/CD with consolidated PR dashboard
- ๐ Security scanning and vulnerability detection
- ๐ Quality enforcement and documentation
- ๐ Releases with semantic versioning
- ๐ฅ Community management and engagement
- ๐ค Bot commands for workflow control
๐ Quick Start
- Use this template to create your new repository
- Set up secrets following the Secrets Setup Guide
- Configure labels by running the label sync workflow
-
Import rulesets from
.github/config/rulesets/
- Test locally using our Local Testing Guide
- Start developing - automation handles the rest!
๐ Required Setup
Secrets (Required)
Secret | Purpose | Required |
---|---|---|
APP_ID |
GitHub App ID for branded automation | โ Yes |
PRIVATE_KEY |
GitHub App private key | โ Yes |
SLACK_BOT_TOKEN |
Slack bot token for notifications | โ Optional |
SLACK_CHANNEL_ID |
Slack channel ID | โ Optional |
RUBYGEMS_API_KEY |
RubyGems publishing key | โ Optional |
Configuration Files
File | Purpose | Required |
---|---|---|
.github/config/labels.yml |
Label definitions and colors | โ Yes |
.github/config/labeler.yml |
Auto-labeling rules for PRs | โ Yes |
.github/dependabot.yml |
Dependency update configuration | โ Yes |
.github/CODEOWNERS |
Code ownership and review assignments | โ Yes |
.github/config/codeql.yml |
CodeQL analysis configuration | โ Yes |
.github/config/release-please-config.json |
Release configuration | โ Yes |
.github/config/release-please-manifest.json |
Release manifest | โ Yes |
.github/config/rulesets/*.json |
Repository protection rules | โ Optional |
Bot Commands
Command | Description | Example |
---|---|---|
/gem-ci help |
Show available commands | /gem-ci help |
/gem-ci revise release [from] to [to] |
Change release type | /gem-ci revise release minor to patch |
/gem-ci cancel release |
Cancel current release PR | /gem-ci cancel release |
Usage: Comment these commands on any issue or PR to trigger bot actions.
๐ Documentation
Complete documentation is available on our Documentation Site including:
- ๐ Getting Started: Setup guides, secrets configuration, and local testing
- ๐ Workflows: Complete workflow documentation and architecture overview
- ๐ฏ Advanced Features: Customization, integrations, and bot commands
- โ Validation: Testing and troubleshooting guides
๐งช Quick Local Testing
# Setup (one time)
cp .secrets.example .secrets && nano .secrets
# Test workflows locally
./scripts/test-local # Test push workflows
./scripts/test-local ci # Test CI workflow
./scripts/test-workflows # Run validation tests
๐ View Testing Scripts Documentation
๐ฏ Key Features
75-80% cost reduction โข Consolidated PR dashboard โข Interactive bot commands โข Comprehensive security โข Automated releases
๐ค Contributing
- Fork this repository
- Create a feature branch
- Make your changes
- Run validation workflows
- Submit a pull request
๐ License
This project is licensed under the MIT License - see the LICENSE.txt file for details.
Note: This template is designed for Ruby gem projects and may require adjustments for other languages or frameworks. It is battle-tested and ready to use, but always review and customize workflows to fit your specific needs.